猿问

如何从php中的知识图api中仅提取文章正文?

我试图只从 php 中的 json-ld 获取文章正文,但我不明白如何。


我对从 php 编码和解码 json 不太熟悉,所以似乎没有任何效果。


  "@context": {

    "@vocab": "http://schema.org/",

    "goog": "http://schema.googleapis.com/",

    "resultScore": "goog:resultScore",

    "detailedDescription": "goog:detailedDescription",

    "EntitySearchResult": "goog:EntitySearchResult",

    "kg": "http://g.co/kg"

  },

  "@type": "ItemList",

  "itemListElement": [

    {

      "@type": "EntitySearchResult",

      "result": {

        "@id": "kg:/m/0dl567",

        "name": "Taylor Swift",

        "@type": [

          "Thing",

          "Person"

        ],

        "description": "Singer-songwriter",

        "image": {

          "contentUrl": "https://t1.gstatic.com/images?q=tbn:ANd9GcQmVDAhjhWnN2OWys2ZMO3PGAhupp5tN2LwF_BJmiHgi19hf8Ku",

          "url": "https://en.wikipedia.org/wiki/Taylor_Swift",

          "license": "http://creativecommons.org/licenses/by-sa/2.0"

        },

        "detailedDescription": {

          "articleBody": "Taylor Alison Swift is an American singer-songwriter and actress. Raised in Wyomissing, Pennsylvania, she moved to Nashville, Tennessee, at the age of 14 to pursue a career in country music. ",

          "url": "http://en.wikipedia.org/wiki/Taylor_Swift",

          "license": "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"

        },

        "url": "http://taylorswift.com/"

      },

      "resultScore": 896.576599

    }

  ]

}

我只需要文章正文“泰勒·艾莉森·斯威夫特是美国创作歌手兼演员……”。我如何实现这一目标?


料青山看我应如是
浏览 117回答 1
1回答

慕侠2389804

您必须使用json_decode解码此字符串,然后它只是从数组中获取您的需求。例如$j = '{"@context": {"@vocab": "http://schema.org/", "goog": "http://schema.googleapis.com/", "resultScore": "goog:resultScore" }}';$arr = json_decode($j, true);echo $arr['@context']['goog'];因为articleBody它应该是:$arr['itemListElement'][0]['result']['detailedDescription']['articleBody']
随时随地看视频慕课网APP
我要回答