7
votes

Comment obtenir un texte d'ancrage à l'aide de DomDocument?

dire que j'ai ce HTML: xxx

i analyser en utilisant DOMDocument avec ce code: xxx

Et ensuite j'exécute ce code: xxx

Quand je le fais, je ne vois que "href" comme un attribut de l'URL, il n'y a aucun moyen d'obtenir le texte d'ancrage " '(dans la case ci-dessus "test"). Comment puis-je obtenir le texte d'ancrage du lien?


0 commentaires

4 Réponses :


5
votes

0 commentaires

0
votes

Le texte "TEST" est en fait un nœud de texte DOM afin que vous puissiez chercher le contenu en passant par les nœuds enfants de $ URL.

Vous pouvez vérifier cet article pour la solution: Comment obtenir innerhtml de domnode?


1 commentaires

Ceci est en fait destiné à obtenir l'innerhtml, vous voudrez peut-être utiliser NODEVALUE si tout ce que vous voulez est le texte à l'intérieur comme @LonesomeDay a souligné.



6
votes
foreach ($urls as $url) {
    $attributes = $url->attributes;
    echo "<br>$url->nodeValue is $attributes->href";
} 

3 commentaires

J'ai une étiquette d'image comme texte d'ancrage d'un lien. Si j'utilise NODEVALUE, cela ne renvoie rien. J'utilise Rechercher ('A [HREF = URL]') pour obtenir le lien d'ancrage correspondant. Comment puis-je obtenir la balise d'image ??


TextContent ne renvoie rien. il devrait renvoyer quelque chose comme quelque chose mais pas


Innertext a fait l'affaire. Il retourne l'étiquette d'image bien maintenant. merci dqhendricks



1
votes
here is two line code may it help some one

$html   =   file_get_html($link);
foreach($html->find("a") as $key=>$val)
{
  echo $val->src;
  echo '\n';   
}

0 commentaires