Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用简单的html dom解析器删除html实体_Php_Html_Web Scraping - Fatal编程技术网

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

Php 使用简单的html dom解析器删除html实体,php,html,web-scraping,Php,Html,Web Scraping,标记太糟糕了,我怎样才能去掉灰色部分?没有班级,没有身份证 我使用了简单的HTMLDOM解析器和这行代码来访问'dd' $lyric = $lyricDOM->find('#fsZ dl', 0)->find('dd',0); // lyric block 您可以在回调中使用innertext和outertext函数在解析时提取和替换标记。简短示例: $html = str_get_html("<dd><font style='font-size:14px;'&g

标记太糟糕了,我怎样才能去掉灰色部分?没有班级,没有身份证

我使用了简单的HTMLDOM解析器和这行代码来访问'dd'

$lyric = $lyricDOM->find('#fsZ dl', 0)->find('dd',0); // lyric block
您可以在回调中使用innertext和outertext函数在解析时提取和替换标记。简短示例:

$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>

有关innertext、outertext和回调的完整说明,请参阅。您可以展开回调以包含在解析过程中要忽略的其他元素。

您只是想删除字体标记吗?如果是这样的话,一个简单的正则表达式可能是最好的选择。如果你去-你可以把这个内容放在数据输入中,并使用站点上的正则表达式输入来生成正则表达式。该网站将突出显示您选择的内容,以便您可以通过尝试学习。@girlwithglass例如?@Onovar:我不确定这是个好主意。使用正则表达式处理HTML可能会很快变得有点混乱。为此,@halfer感谢您的回答,每天学习: