使用简单的html dom解析器删除html实体

时间:2014-08-11 13:23:59

标签: php html web-scraping

标记很可怕,我怎么能摆脱灰色部分?没有课,没有身份证。

我使用简单的html dom解析器和这行代码来达到'dd'

$lyric = $lyricDOM->find('#fsZ dl', 0)->find('dd',0); // lyric block

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在回调中使用innertextoutertext函数在解析时提取和替换<font>标记。简短的例子:

$html = str_get_html("<dd><font style='font-size:14px;'>red<br>green<br>blue</font></dd>");

// Write a function with parameter "$element"
function my_callback($element) {
    // This will be called every time the 'font' element is encountered
    if ($element->tag=='font')
    $element->outertext = $element->innertext;
}

// Register the callback function
$html->set_callback('my_callback');

// Callback function will be invoked while dumping
echo $html . "\n";

结果:

<dd>red<br>green<br>blue</dd>

有关innertextoutertext和回调的完整说明,请参阅http://simplehtmldom.sourceforge.net/manual.htm。您可以展开回调以包括在解析过程中要忽略的其他元素。