我正在尝试抓取<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();
?>
答案 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";
}