Как получить контент в теге A HREF с помощью подстановочного знака (PHP) - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь получить содержимое серии тегов A HREF в PHP, например:

<a href="/user/200890"></a>
<a href="/user/200891"></a>
<a href="/user/200892"></a>

Я использую это, но не знаю, как получить все теги с помощью подстановочного знака - Пробовал, но не получилось:

$anchorTags = $xPath->evaluate("//a[@href*=\"/user\"]");

Спасибо!

1 Ответ

0 голосов
/ 16 июня 2020

Вы можете использовать селектор start-with в своем запросе XPath

$strhtml='
    <a href="/user/200890"></a>
    <a href="/user/200891"></a>
    <a href="/user/200892"></a>     
';


libxml_use_internal_errors( true );
$dom=new DOMDocument;
$dom->validateOnParse=false;
$dom->recover=true;
$dom->strictErrorChecking=false;
$dom->loadHTML( $strhtml );
$errors=libxml_get_errors();
libxml_clear_errors();


$xp=new DOMXPath( $dom );
$pttn='//a[ starts-with( @href, "/user/" ) ]';

$col=$xp->query( $pttn );
if( $col && $col->length > 0 ){
    foreach( $col as $node )echo $node->getAttribute('href') . '<br>';
}

Это, как и ожидалось, выводит:

/user/200890
/user/200891
/user/200892
...