可能重复:
如何使用 PHP 解析和处理 HTML?
我正在尝试使用 file_get_contents() 用 PHP 抓取页面。这个页面有一些 JSON 包裹在一些 HTML 中。我想去掉这个 HTML,以便能够在抓取的字符串上使用 json_decode(),这样我就可以单独处理 JSON。有什么干净的方法可以做到这一点吗?快速搜索并没有真正导致任何结果。谢谢
可能重复:
如何使用 PHP 解析和处理 HTML?
我正在尝试使用 file_get_contents() 用 PHP 抓取页面。这个页面有一些 JSON 包裹在一些 HTML 中。我想去掉这个 HTML,以便能够在抓取的字符串上使用 json_decode(),这样我就可以单独处理 JSON。有什么干净的方法可以做到这一点吗?快速搜索并没有真正导致任何结果。谢谢
解析/剥离 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;
}