首页 > 解决方案 > HTML 化的 API 数据

问题描述

我有一个从 API 访问数据的网络应用程序。我需要提取数据,但它已被“HTML 化”,我不确定如何渲染实际数据。

我尝试使用括号表示法从数组中提取数据,这给了我数据,但它包含 HTML 标记。

javascript

{
"id": "5c9cd6576ebf251b944ed16d",
"number": 3451,
"user_id": "5b8425c8e694aa3c6a835b67",
"state": "active",
"subject": "Bower Steel 3D",
"label_ids": [
    "5c4b0cf4bbddbd48cd69e68a"
],
"customer_id": "5b51be9ee694aa03f8c834be",
"type": "email",
"reply_to": "xxxxxxx.xxxxxx@xxxxxxx.com",
"reply_cc": "",
"group_id": "5a5f65fed5593070120b9779",
"inbox_id": "5a5f65fed5593070120b9779",
"updated_at": "2019-04-03T12:46:50Z",
"created_at": "2019-03-28T14:12:39Z",
"spam": false,
"trash": false,
"summary": "Great! Glad to hear it.",
"rating": null,
"waiting_since": "2019-04-03T12:21:43Z",
"messages": [
    {
        "id": "5c9cd6576ebf251b944ed16e",
        "type": "reply",
        "from_name": "Cxxxxxxx Sxxxxxx",
        "body": "<div class=\"5cb74b836ebf2578174d567c\">        
                 <style>cb74b836ebf2578174d567c
                         p.5cb74b836ebf2578174d567cMsoNormal,
                 </style>\n\n\n
                 <div class=\"5cb74b836ebf2578174d567cWordSection1\">\n
                 <p class=\"5cb74b836ebf2578174d567cMsoNormal\">
                   Actual content I want to render
                 </p>
                 <p class=\"5cb74b836ebf2578174d567cMsoNormal\"></p>\n
                 <p class=\"5cb74b836ebf2578174d567cMsoNormal\"></p>\n
                 <p class=\"5cb74b836ebf2578174d567cMsoNormal\"></p>

我要渲染的内容是这样嵌入的。它基本上是对象中的一个数组,称为消息,它包含一条消息线索——从第一条消息到最后一条回复。

我从来没有遇到过这样的 HTML 化数据。我可以使用括号表示法获取数据,但我不知道如何解析无关标签并获取数据。

任何帮助,将不胜感激。

标签: javascriptphp

解决方案


如果没有让 API 生成更好的端点供您使用,您将不得不处理“HTML 化”数据。在这种情况下,我使用了一些东西来解析 HTML。例如,您可以将正文字符串放入 jQuery 构造函数中。

jQuery(messages[i].body)

这将以编程方式为您提供一些可消化的东西来搜索您的数据。


推荐阅读