获得第一个简单的DOM解析器

时间:2016-05-23 08:26:24

标签: php parsing dom

我只是尝试创建小的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); } 仍包含

1 个答案:

答案 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