使用 simple_html_dom 库从 <script> 标记解析 json 数据

Posted

技术标签:

【中文标题】使用 simple_html_dom 库从 <script> 标记解析 json 数据【英文标题】:Parse json data from <script> tag using simple_html_dom library 【发布时间】:2017-11-30 13:07:12 【问题描述】:

我在 html 源代码中有这些数据。

    <script type="application/ld+json">
    ["@context:":"http:\/\/schema.org","@type":"Movie","name":"My First Movie"]
    </script>

现在我想使用 simple_html_dom php 库从这个 json 数据类型、电影中解析。我已经达到了

    $des = $html->find('script', 1)->innertext;
    $desDecode = json_decode($des);

使用这个我得到了["@context:":"http:\/\/schema.org","@type":"Movie","name":"My First Movie"]但在这之后我很困惑如何获得像电影或名字这样的价值。我无法从我可以开始的地方找到 json 对象名称。请对此有所了解。

【问题讨论】:

json_decode... Parsing JSON file with PHP的可能重复 @AndréDion — i.imgur.com/k7U8MtX.png @Quentin,我知道。阅读文档应该很明显对象的形状是什么。 【参考方案1】:

检查此代码,我认为您收到了这样的 json 响应。

$html = '<script type="application/ld+json">
["@context:":"http:\/\/schema.org","@type":"Movie","name":"My First Movie"]
</script>';

 $des = strip_tags($html);
$desDecode = json_decode($des);

print_r($desDecode);

【讨论】:

完全无关紧要。仔细阅读问题。 这会重写问题中的工作代码(以一种更脆弱的方式),而根本没有解决问题所询问的问题。

以上是关于使用 simple_html_dom 库从 <script> 标记解析 json 数据的主要内容,如果未能解决你的问题,请参考以下文章

php simple_html_dom.php 去掉html标签

PHP 之simple_html_dom实现网页数据采集

带有数据属性的 simple_html_dom 解析问题

php解析html类库simple_html_dom

php解析html类库simple_html_dom

使用 agsxmpp 库从 xml 节点获取信息