PHP Simple HTML Dom - tag attrib

时间:2013-01-17 05:36:38

标签: php simple-html-dom

我正在尝试抓取<font size="3" color="blue">内的纯文本...它没有拿起字体标记,虽然如果我“font”,3 它确实有效但是网站上有很多字体标签,我想让搜索更具体一些。是否有可能在标签上有多个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 个答案:

答案 0 :(得分:1)

我不懂Simple_html_dom。但是,您尝试传递的查询似乎是一个xpath查询。在这种情况下,您需要使用@前缀属性。此外,您需要使用//为整个查询添加前缀,以确保它搜索任何级别深的任何font标记。最终查询看起来应该是这样的。

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

使用DOMDocument和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";
}