Possible en double:
How to parse and process HTML with PHP?PHP HTML DOM Parser
Je suis à la recherche en HTML DOM pour PHP parseurs. J'ai trouvé PHP Simple HTML DOM Parser. Y en a-t-il d'autres que je devrais regarder?
Possible en double:
How to parse and process HTML with PHP?PHP HTML DOM Parser
Je suis à la recherche en HTML DOM pour PHP parseurs. J'ai trouvé PHP Simple HTML DOM Parser. Y en a-t-il d'autres que je devrais regarder?
Oui. Doc simple html est très bien, mais un ordre de magnitude slower que l'analyseur dom intégré.
$dom = new DOMDocument();
@$dom->loadHTML($html);
$x = new DOMXPath($dom);
foreach($x->query("//a") as $node)
{
$data['dom']['href'][] = $node->getAttribute("href");
}
Utilisez cela.
est-il un moyen de rendre 'query' retourner un nœud au lieu d'une nodelist? Par exemple, une page n'a qu'une seule étiquette h1. Je veux que ce soit nodeValue, mais je ne pense pas que je devrais passer par une nodelist. – StackOverflowNewbie
Vous devriez pouvoir utiliser '$ node [0]' pour obtenir le premier noeud de la liste. Ou juste itérer et casser. Je viens itérer et casser. Si la requête ne renvoie rien, je ne reçois aucune erreur de cette façon. –
Vous pouvez consulter le DOM builtin
Récemment, j'ai également trouvé ganon, mais en général PHP Simple HTML DOM Parser est le meilleur!
PHP Simple HTML DOM L'analyseur syntaxique étouffe, si vous essayez d'explorer plusieurs pages, par ex. niveau 1: obtenez 300 liens (par exemple à partir d'une liste) level2: accédez à chaque lien et récupérez la page avec les détails et récupérez les éléments. Tout ce que vous obtenez est une collection d'erreurs de réinitialisation (en fonction du type de serveur) - plus il est très lent – Jeffz
ganon seulement charger 2 élément de mes besoins et quand essayer d'exécuter simple html dom parser mon ordinateur pendu !!! – zhilevan
J'ai trouvé que ganon était beaucoup plus lent que DOM construit en PHP, ainsi que Simple HTML DOM Parser. De plus, Simple HTML DOM semble souffrir de lourdes pertes de mémoire et vous devez nettoyer ou réutiliser manuellement les objets alloués. – jahackbeth
Pourquoi pensez-vous avoir besoin d'autre chose? Si c'est le cas, utilisez-le. :) – casablanca
Son encore une grande ressource Gordon, +1 – RobertPitt