You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP explode将API返回的JSON转为数组并翻译非技术内容

嘿,这就帮你搞定这两个需求,分步骤来:

一、用PHP的explode函数处理JSON内容并转换为数组

首先得说清楚:直接对整个JSON字符串用explode拆分意义不大,因为会得到零散的片段。更实用的做法是先把JSON解析成PHP数组,再对特定的文本字段(比如领养流程的分段内容)用explode拆分,这样得到的数组更有业务价值。

下面是具体代码示例:

// 定义API返回的JSON字符串
$jsonData = '{"listings":[{"adoption_fee":"$200","adoption_process":"For cats, please fill out our <a href=\"http://www.haart.org.au/pre-adoption-form-cats/\">Pre-Adoption Questionnaire - Cats</a>.\r\n\r\nFor dogs, please fill out our <a href=\"http://www.haart.org.au/pre-adoption-form-dogs/\">Pre-Adoption Questionnaire - Dogs</a>.\r\n\r\nFor more information on our Adoption Process, please visit this <a href=\"http://www.haart.org.au/our-adoption-process/\">link</a>.\r\n\r\nPlease make sure that you are familiar with our <a href=\"http://www.haart.org.au/adoption-agreement/\">Adoption Agreement</a> as it has recently changed.\r\n\r\nFor more information on any of our animals, please <a href=\"http://www.haart.org.au/contact-us/\">Contact Us</a>.","age":"5 years 8 months","breeds":["Domestic Short Hair"],"breeds_display":"Domestic Short Hair","coat":"Short","contact_name":null,"contact_number":"08 6336 9410","contact_preferred_method":"Email","created_at":"2/9/2014 15:23","date_of_birth":"12/7/2012","desexed":true,"foster_needed":false,"gender":"Female","group":"Homeless and Abused Animal Rescue Team","heart_worm_treated":null,"id":316602,"interstate":false,"last_updated":"22/3/2018 9:40","medical_notes":"","microchip_number":"","mix":false,"multiple_animals":false,"name":"Whinney HC13-154","personality":"Whinney is an independent girl who likes ..."}]}';

// 步骤1:先将JSON解析为PHP关联数组(这是处理JSON的基础操作)
$adoptionData = json_decode($jsonData, true);

// 步骤2:对领养流程字段用explode按换行分隔符拆分为步骤数组
$adoptionSteps = [];
if (isset($adoptionData['listings'][0]['adoption_process'])) {
    // 按\r\n\r\n拆分每个独立的流程说明
    $adoptionSteps = explode("\r\n\r\n", $adoptionData['listings'][0]['adoption_process']);
}

// 如果你硬要对整个JSON字符串用explode(不推荐,仅满足要求)
$rawSplitArray = explode('}', $jsonData);

说明:json_decode是PHP处理JSON的标准方式,之后用explode拆分特定字段的文本,能得到结构化的步骤数组,比直接拆分整个JSON实用得多。

二、非技术类文本翻译(保留技术术语、HTML标签等)

我已经把所有非技术描述性文本翻译成中文,同时严格保留了HTML标签、官方术语(如Pre-Adoption Questionnaire)、品种名、费用符号、日期格式等内容,翻译后的JSON如下:

{
    "listings": [
        {
            "adoption_fee": "$200",
            "adoption_process": "领养猫咪,请填写我们的<a href=\"http://www.haart.org.au/pre-adoption-form-cats/\">Pre-Adoption Questionnaire - Cats</a>。\r\n\r\n领养狗狗,请填写我们的<a href=\"http://www.haart.org.au/pre-adoption-form-dogs/\">Pre-Adoption Questionnaire - Dogs</a>。\r\n\r\n如需了解更多领养流程信息,请访问此<a href=\"http://www.haart.org.au/our-adoption-process/\">link</a>。\r\n\r\n请务必熟悉我们的<a href=\"http://www.haart.org.au/adoption-agreement/\">Adoption Agreement</a>,该协议近期已更新。\r\n\r\n如需了解任何动物的更多信息,请<a href=\"http://www.haart.org.au/contact-us/\">Contact Us</a>。",
            "age": "5岁8个月",
            "breeds": ["Domestic Short Hair"],
            "breeds_display": "Domestic Short Hair",
            "coat": "短毛",
            "contact_name": null,
            "contact_number": "08 6336 9410",
            "contact_preferred_method": "邮件",
            "created_at": "2/9/2014 15:23",
            "date_of_birth": "12/7/2012",
            "desexed": true,
            "foster_needed": false,
            "gender": "雌性",
            "group": "Homeless and Abused Animal Rescue Team",
            "heart_worm_treated": null,
            "id": 316602,
            "interstate": false,
            "last_updated": "22/3/2018 9:40",
            "medical_notes": "",
            "microchip_number": "",
            "mix": false,
            "multiple_animals": false,
            "name": "Whinney HC13-154",
            "personality": "Whinney是一只独立的小母猫,喜欢……"
        }
    ]
}

翻译细节:

  • 保留所有HTML标签、链接地址、技术字段名(如desexed、microchip_number)、官方表单名称、机构名称;
  • 把日常描述文本(年龄、性别、流程说明)翻译成自然的中文;
  • 品种名Domestic Short Hair保留原文,避免翻译误差;
  • Email翻译成“邮件”,更符合中文用户的阅读习惯。

内容的提问来源于stack exchange,提问作者Black Dog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:52:48