@Shimpanze

Как в XPath получить чистое значение атрибута?

Здравствуйте!

Выражение:

"//a/@href"

Выводит:

href="site.com/3572"

А как получить чистое значение href? Такое:

site.com/3572

Перекопал весь интернет, ничего толкового (кроме как использовать регулярки) не нашел.
  • Вопрос задан
  • 239 просмотров
Решения вопроса 2
DevMan
@DevMan
у вас очень странный интернет. да и копать нужно не его, а доку по xpath в целом и по xpath в пыхе в частности.

foreach ($xpath->query('//a/@href') as $href) {
	echo $href->nodeValue, PHP_EOL;
}
https://3v4l.org/0XlvA
Ответ написан
Комментировать
@Roman-Fov
<?php

$XMLResult = '
<root>
    <a href="https://google.com/">google.com</a>
    <a href="https://bing.com/">bing.com</a>
    <a href="https://yahoo.com/">yahoo.com</a>
</root>';


$XML = simplexml_load_string($XMLResult);
$XMLResults = $XML->xpath('/root/a/@href');

foreach($XMLResults as $SimpleXMLElement) {
    var_dump(strval($SimpleXMLElement['href']));
}


string 'https://google.com/' (length=19)
string 'https://bing.com/' (length=17)
string 'https://yahoo.com/' (length=18)


Оно?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы