说我有这个HTML:
<a href="http://example.com">Test</a>
Run Code Online (Sandbox Code Playgroud)
我使用dom文档解析它与此代码:
$dom = new DomDocument();
@$dom->loadHTML($html);
$urls = $dom->getElementsByTagName('a');
Run Code Online (Sandbox Code Playgroud)
然后我运行这段代码:
foreach ($urls as $url)
{
//echo "<br> {$url->getAttribute('href')} , {$url->getAttribute('title')}";
foreach ($url->attributes as $a)
{
echo "<br>$a->name is $a->value";
}
echo "<hr><br>";
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我只看到'href'作为url的属性,没有办法得到'锚文本'(在上面的例子中'测试').如何获取链接的锚文本?
foreach ($urls as $url) {
$attributes = $url->attributes;
echo "<br>$url->nodeValue is $attributes->href";
}
Run Code Online (Sandbox Code Playgroud)