目前的代码是这样的:
include 'simple_html_dom.php';
// Create DOM from URL or file
$html = file_get_html('http://www.AnyLinkAlsoCan.com');
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';
它将抓取并找到这样的标记:
<a href="http://news.example.com/node">
并输出它在网站上找到的所有链接。
实施例
http://news.example.com.my/node/321072
http://news.example.com.my/taxonomy/term/2
http://news.example.com.my/node/321060?tid=2
我想搜索仅包含?tid=
的网址,如您在示例中的第3个网址上所示。
http://news.example.com.my/node/321060?tid=2
我替换echo $element->href="*?tid
,但这只是返回错误。有人可以帮我这个吗?
答案 0 :(得分:1)
您可以使用preg_match,也可以检查所有网址是否包含?tid
<?php
include 'simple_html_dom.php';
// Create DOM from URL or file
$html = file_get_html('http://www.AnyLinkAlsoCan.com');
// Find all links
foreach($html->find('a') as $element) {
$search = '?tid';
if(strpos($element->href,$search)) {
echo $element->href . '<br>';
}
}
?>
答案 1 :(得分:0)
使用parse_url()解析每个网址,然后根据PHP_URL_QUERY