2009-10-27 69 views
1

你好,我正在使用simple_html_dom來查找html文檔中類「new」的每個鏈接。通常我會使用:Php使用simple_html_dom進行解析,搜索問題

$html->find('a[class=new]'); 

這將獲得鏈接,例如,

<a class="new" ... blah blah ... /> 

Hoever問題這一次是在HTML文檔中包含有類如

<a class="today new".../> 
<a class="alksdjld new kfljslfd".../> 

地段基本上在它的新詞等環節的鏈接。在線手冊中說[class^= new]將部分解決這個問題,因爲它對於新開始並且確實起作用的類進行排序。但仍然留下類似「新等等等等」

希望是有道理的。有沒有人遇到過/解決了這個問題?

回答

1

一旦你找到使用[class^= new]的所有類的列表,你可以遍歷它們並篩選那些只有新類作爲唯一類的類?

0

從文檔:

// Find all <li> in <ul> 
foreach($html->find('ul') as $ul) 
{ 
     foreach($ul->find('li') as $li) 
     { 
      // do something... 
     } 
} 

所以,你就應該能夠遍歷您的一個記錄,並期待在$ A->看類,如果它==「新」如果不是會有更多不只是新的內容,你可以跳過它...

+0

我不認爲你說什麼是可能的。 $ html-> find('a [class = new]'); foreach($ html as $ value){//} 我該如何在foreach語句中檢查class =='new'?我不認爲它是這樣的? – 2009-10-27 00:56:41

+0

對不起,我的意思是$ class = $ html-> find('a [class = new]'); foreach($ class as $ value){//} ..........任何人? – 2009-10-27 02:31:40

+0

它會更像是如果($ value-> class ==「new」)我想。 – Zak 2009-10-27 09:27:59