PHP Xpath : obtenez toutes href valeurs qui contiennent de l'aiguille
De travail avec PHP Xpath essayer de rapidement tirer de certains liens dans une page html.
Suivantes trouverez tous les liens href sur mypage.html:
$nodes = $x->query("//a[@href]");
Alors que le suivant sera de trouver tous les liens href où le description correspond à mes aiguilles:
$nodes = $x->query("//a[contains(@href,'click me')]");
Ce que je cherche à atteindre est la mise en correspondance sur le href lui-même, plus spécifiquement, de trouver les url qui contiennent certains paramètres. Est-ce possible à l'intérieur d'une requête Xpath ou devrais-je commencer à manipuler la sortie de la première requête Xpath?
- Oui, mais de la recherche pour "aiguille" renvoie le texte de la partie en $noeud->nodeValue(); et non pas souhaité exemple.com?param=aiguille ...?
Vous devez vous connecter pour publier un commentaire.
Pas sûr de comprendre correctement à la question, mais la deuxième expression XPath déjà fait ce que vous décrivez. Elle ne correspond pas à l'encontre du nœud de texte de l'élément, mais l'attribut href:
Sorties:
Comme vous pouvez le voir, le retour de l'NodeList contient uniquement de l'élément href contenant foo (ce que je comprends est ce que vous cherchez). Il contans l'ensemble de l'élément, parce que le XPath se traduit par Extraire tous les éléments A href attribut contenant foo. Vous pouvez alors accéder à l'attribut avec
Si vous ne voulez retourner l'attribut lui-même, que vous avez à faire
Noter que dans SimpleXml, ce serait de retour d'un élément SimpleXml si:
mais vous pouvez la production, l'URL maintenant par