2013-01-17 50 views
1

我試圖嘗試搶純文本從<font size="3" color="blue">內...它不是拿起字體標籤,雖然它不工作,如果我這樣做「字體」,3但也有網站上的很多字體標籤,我想讓搜索更具體。有可能在標籤上有多個屬性?PHP簡單的HTML DOM - 標籤ATTRIB

<?php 

include('simple_html_dom.php'); 

$html = new simple_html_dom(); 
$html = file_get_html('http://cwheel.domain.com/'); 

##### <font size="3" color="blue">Certified Genuine</font> 
$element = $html->find("font[size=3][color=blue]", 0); 
echo $element-> plaintext . '<br>'; 
$html->clear(); 

?> 

回答

1

我不知道Simple_html_dom。但似乎你試圖傳遞的查詢是一個xpath查詢。在這種情況下,您需要使用@的前綴屬性。您還需要在整個查詢前添加//以確保它搜索任何深度級別的font標籤。最終查詢應該看起來像這樣。

//font[@size=3][@color=blue]

使用DOM文檔和DOMXPath it works pretty good

$doc = new DOMDocument(); 
$doc->loadHTML($html); 
$xpath = new DOMXPath($doc); 
$fonts = $xpath->query('font[@size="3" ][ @color="blue"]'); 
foreach($fonts as $font){ 
    echo $font->textContent. "\n"; 
} 
相關問題