我只是尝试创建小的simplephpdome
目标是
echo substr($url, strrpos($url, '/') + 1);
如何获得每个<ul id=filter><li><a href="url1"></li><li><a href="url2"></li></ul>
<ul id=filter><li><a href="url3"></li><li><a href="url4"></li></ul>
的第一个li
结果?
我试过这个
ul
但所有$html = file_get_html($url);
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXpath($dom);
$first_list_links = $xpath->evaluate('//ul[@id="filter"]/li/a');
foreach($first_list_links as $links) {
echo $dom->saveHTML($links);
}
仍包含
答案 0 :(得分:0)
您可以使用PHP Simple HTML DOM Parser:
来实现这一目标<强> PHP 强>
$html = file_get_html('<ul class="filter"><li><a href="url1"></li><li><a href="url2"></li></ul><ul class="filter"><li><a href="url3"></li><li><a href="url4"></li></ul>');
$urls = [];
foreach($html->find('.filter') as $element) {
$url = $element->firstChild()->find('a', 0)->href;
if (!in_array($url, $urls)) {
echo $url . "<br/>";
$urls[] = $url;
}
}
应输出:
url1
url2