dongwen7187 2014-11-20 17:50
浏览 92

使用php替换json字符串中的双引号

I need to convert a JSON string in array using PHP, but I need to escape double quotes.

$string = '["label":"Name","type":"text","placeholder":"Mario","name":"name",*],
["label":"Email","type":"email","placeholder":"mail@example.com","name":"email",*],
["label":"Message","type":"textarea","value":"In this box you can insert a <a href="#" target="_blank">link</a>"]';
$jsonify = strip_tags($string,"<a>");
$jsonify = str_replace('*','"required":"required"',$jsonify);
$jsonify = str_replace('[','{',str_replace(']','}',$jsonify));
$jsonify = str_replace(array("
", ""),"",$jsonify);
$jsonify = preg_replace("/\s+/", " ", $jsonify);
$jsonify = '['.jsonify.']';
echo $jsonify;

// OUTPUT IS:
[{"label":"Name","type":"text","placeholder":"Mario","name":"name","required":"required"}, {"label":"Email","type":"email","placeholder":"mail@example.com","name":"email","required":"required"}, {"label":"Message","type":"textarea","value":"In this box you can insert a <a href="#" target="_blank">link</a>"}]

// BUT IS NOT JSON VALID. IT SHOULD BE THIS:
[{"label":"Name","type":"text","placeholder":"Mario","name":"name","required":"required"}, {"label":"Email","type":"email","placeholder":"mail@example.com","name":"email","required":"required"}, {"label":"Message","type":"textarea","value":"In this box you can insert a <a href=\"#\" target=\"_blank\">link</a>"}]

How can I obtain a valid JSON string?

  • 写回答

2条回答 默认 最新

  • doupang9080 2014-11-20 17:54
    关注

    your string is not a json valid

    this is a $string json valid

      [
        {
            "label": "Name",
            "type": "text",
            "placeholder": "Mario",
            "name": "name"
        },
        {
            "label": "Email",
            "type": "email",
            "placeholder": "mail@example.com",
            "name": "email"
        },
        {
            "label": "Message",
            "type": "textarea",
            "value": "In this box you can insert a <a href='#' target='_blank'>link</a>"
        }
    ]
    

    test this,and remove other code strip_tags,Str_replace,preg_replace

    echo json_encode($string);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么