2016-05-23 3 views
2

を取得し、私はちょうど
目標は、すべてのulのためだけに最初li結果を取得する方法最初の李シンプルなDOMパーサに

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

ある小さなsimplephpdomeを作成しようか!
私はこの

$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); 
} 

を試していますが、すべてのliはまだあなたがPHP Simple HTML DOM Parserを使用してこれを達成することができます

+0

CSSのセレクタがあります。最初の型は、以前はDOMパーサでは一度も使用していないためパーサで使用できるかどうかわかりません。 –

答えて

0

を含ま:出力すべき

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 
+0

ありがとうございましたforeach($ html - > find( 'ul#filter')$ element){ echo $ element-> firstChild() - > find( "a"、0) - > href。 '
'; } –

+0

@EyangMakmurあなたは歓迎です:)あなたは私の答えplsを有効にするplsすることはできますか? :) –

+0

待っていますが、その理由は、ループ2回結果url1、url3、url1、url3を得る? –

関連する問題