Maison >développement back-end >tutoriel php >Comment récupérer l'attribut « href » d'un élément A à l'aide de l'API DOM ?

Comment récupérer l'attribut « href » d'un élément A à l'aide de l'API DOM ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-29 11:20:11182parcourir

How to Grab the `href` Attribute of an A Element Using the DOM API?

Récupérer l'attribut href d'un élément A : un guide complet avec DOM

Bien que les expressions régulières puissent être difficiles pour l'analyse HTML, DOM fournit un solution fiable. Voici comment récupérer l'attribut href à l'aide de l'API DOM :

Chargez le HTML

Tout d'abord, chargez le HTML dans un DOMDocument :

$dom = new DOMDocument;
$dom->loadHTML($html);

Récupérer les éléments A

Ensuite, récupérer tous les éléments A éléments utilisant getElementsByTagName():

foreach ($dom->getElementsByTagName('a') as $node) {
    // Do stuff with the A element
}

Obtenir le OuterHTML

Pour obtenir le externalHTML d'un élément A (y compris son contenu), utilisez saveHtml():

echo $dom->saveHtml($node);

Obtenir le nœud Value

Pour obtenir la valeur texte d'un élément A, utilisez nodeValue :

echo $node->nodeValue;

Vérifiez l'attribut href

Pour vérifiez si l'attribut href existe, utilisez hasAttribute() :

echo $node->hasAttribute('href');

Obtenez le Attribut href

Pour récupérer l'attribut href, utilisez getAttribute() :

echo $node->getAttribute('href');

Modifiez l'attribut href

Pour modifier l'attribut href attribut href, utilisez setAttribute() :

$node->setAttribute('href', 'something else');

Supprimer l'attribut href

Pour supprimer l'attribut href, utilisez RemoveAttribute() :

$node->removeAttribute('href');

Requête XPath pour l'attribut href

Vous pouvez recherchez également l'attribut href directement à l'aide de XPath :

$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//a/@href');

Parcourez les nœuds et effectuez les opérations nécessaires.

Ressources supplémentaires

  • [Meilleures méthodes pour analyser HTML](https://stackoverflow.com/questions/1975899/best-methods-to-parse-html-in-php)
  • [DOMDocument en PHP](https://www.php.net /manuel/fr/book.dom.php)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn