[英]PHP Dom Get Certain href Value Using strpos
有人可以告诉我为什么这不起作用。
我正在尝试使用php dom来获取某个href,并从页面获取该www.imdb.com/title/tt-some-id
包含单词imdb
因此在下面的示例中,我尝试通过使用php函数strpos
来查找单词imdb
但是它没有起作用。
$page = 'www.someurl.com';
$data = array();
$dom = new DOMDocument();
@$dom->loadHTML($page);
$data['imdb_link'];
$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
$href = $link->getAttribute('href');
if (false !== strpos($href,'imdb')) {
$data['imdb_link'] = $href;
} else {
$data['imdb_link'] = '';
}
}
以及页面中的链接
<a href="some-url.com"></a>
<a href="www.imdb.com/title/some-id"></a>
<a href="another-url.com"></a>
<a href="another-url.com"></a>
有人可以告诉我为什么它不起作用谢谢
您也可以将逻辑移至Xpath。 结果将是找不到匹配元素的空字符串:
$page='<a href="some-url.com"></a>
<a href="www.imdb.com/title/some-id"></a>
<a href="another-url.com"></a>
<a href="another-url.com"></a>';
$dom = new DOMDocument();
@$dom->loadHTML($page);
$xpath = new DOMXpath($dom);
$data['imdb_link'] = $xpath->evaluate(
'string(//a[contains(@href, "imdb")]/@href)'
);
var_dump($data);
输出: https : //eval.in/149602
array(1) {
["imdb_link"]=>
string(26) "www.imdb.com/title/some-id"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.