0

可能重复:
如何使用 PHP 解析和处理 HTML?

我正在尝试使用 file_get_contents() 用 PHP 抓取页面。这个页面有一些 JSON 包裹在一些 HTML 中。我想去掉这个 HTML,以便能够在抓取的字符串上使用 json_decode(),这样我就可以单独处理 JSON。有什么干净的方法可以做到这一点吗?快速搜索并没有真正导致任何结果。谢谢

4

1 回答 1

1

解析/剥离 HTML 内容始终是一个棘手的问题,因为如果 HTML 标记格式错误并且速度缓慢,那么通过正则表达式的(常见?)解决方案可能会崩溃。我建议使用这个小的 HTML DOM 解析器类:

http://simplehtmldom.sourceforge.net/


从子评论编辑和添加:

好的,这是一个不好的,因为内联 javascript 没有正确地用 CDATA-Tags 包装。否则这样的事情可能会起作用:

$html = new simple_html_dom();
$html->load_file('your-external-file');

foreach($html->find("script") as $obj) {
    if(isset($obj->innertext) && strpos($obj->innertext, 'window._jscalls'))
        echo $obj->innertext;
}
于 2012-11-16T08:34:17.960 回答