开发者

Decoding html tags using json_decode() function [duplicate]

开发者 https://www.devze.com 2023-01-18 03:21 出处:网络
This question already has answers here: php json_decode removing html tags (5 answers) Closed 9 years ago.
This question already has answers here: php json_decode removing html tags (5 answers) Closed 9 years ago.

I am trying to decode a JSON string using json_decode() in PHP. Part of my JSON string has HTML tags in it. Eg. (For better view of the code go to http://gist.github.com/605906)

$json = '{"productid" : "prod:a8f2d4ef-108e-5fbf-fa74-595ddc0c7950","memo" : "<div style=\"color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: #ffffff; background-position: initial initial; margin: 8px;\">WS1CI metered clack valve, 1\" for softener  P/N: V1CIDME-03</div>"}';
开发者_JS百科

But I am getting NULL values, when I do

var_dump(json_decode($json));

or

var_dump(json_decode($json, true));


it works for me. If you get a specific error check your PHP installation, but As of PHP 5.2.0 Json comes by default.

object(stdClass)#99 (2) {
  ["productid"]=>
  string(41) "prod:a8f2d4ef-108e-5fbf-fa74-595ddc0c7950"
  ["memo"]=>
  string(59) "WS1CI metered clack valve, 1" for softener  P/N: V1CIDME-03"
}
array(2) {
  ["productid"]=>
  string(41) "prod:a8f2d4ef-108e-5fbf-fa74-595ddc0c7950"
  ["memo"]=>
  string(59) "WS1CI metered clack valve, 1" for softener  P/N: V1CIDME-03"
}

Works even for the html.

object(stdClass)#1 (2) {
  ["productid"]=>
  string(41) "prod:a8f2d4ef-108e-5fbf-fa74-595ddc0c7950"
  ["memo"]=>
  string(328) "<div style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: #ffffff; background-position: initial initial; margin: 8px;">WS1CI metered clack valve, 1" for softener  P/N: V1CIDME-03</div>"
}


Have a look at your server's error_log. This might yield to some more information.


<?php
$arr = array();
$json = '{"productid" : "prod:a8f2d4ef-108e-5fbf-fa74-595ddc0c7950","memo" : "&lt;div style=\"color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: #ffffff; background-position: initial initial; margin: 8px;\"&gt;WS1CI metered clack valve, 1\" for softener  P/N: V1CIDME-03&lt;/div&gt;"}';


var_dump(json_decode($json, true));

?>

You need to transform all html (like < and > into &lt; and &gt;)

0

精彩评论

暂无评论...
验证码 换一张
取 消