在file_get_contents
之后,我收到了以下HTML:
<h1>
<a href="blablabla.html">Manhattan Skyline</a>
</h1>
我只想获得blablabla.html
部分。
如何使用PHP中的DOMDocument
功能来解析它?
重要提示:我收到的HTML包含多个<a href="...">
。
我尝试的是:
$page = file_get_contents('https://...');
$dom = new DOMDocument();
$dom->loadHTML($page);
$xp = new DOMXpath($dom);
$url = $xp->query('h1//a[@href=""]');
$url = $url->item(0)->getAttribute('href');
感谢您的帮助。
答案 0 :(得分:0)
h1//a[@href=""]
正在寻找一个具有a
属性且具有空字符串作为值的href
元素,而您的href
属性包含的内容不是空字符串,值。
如果这是整个文档,则可以使用表达式//a
。
否则,h1//a
也应该工作。
如果您要求a
元素具有一个带有任何值的href
属性,则可以使用h1//a[@href]
。
如果h1
不在文档的根目录,则可能要使用//h1
。因此,最后一个示例将变为//h1//a[@href]
。