json_encode输出额外的锚标记

时间:2014-05-30 10:36:39

标签: php json cakephp

我正在使用json_encode方法在Web服务中传递字符串。

$send_message_code="";
$send_message_code .='<a href="http://www.epbitservices.com/webservices/R/1/" style="text-decoration:none;">';
$send_message_code .='http://www.epbitservices.com/webservices/E/epbitservices/';
$send_message_code .='</a>';
$x['myvar']= $send_message_code;        
$Text = json_encode($x);            
echo $Text;

现在,它将其输出为

{"myvar":"<a href="\&quot;http:\/\/www.epbitservices.com\/webservices\/R\/1\/\&quot;" style="\&quot;text-decoration:none;\&quot;">http:\/\/www.epbitservices.com\/webservices\/E\/epbitservices\/&lt;\/a&gt;"}</a>

最后附加封闭锚标记。

2 个答案:

答案 0 :(得分:2)

您可以使用JSON_UNESCAPED_SLASHES(自PHP 5.4.0开始提供)作为json_encode的第二个参数,它将对您有用。

$Text = json_encode($x, JSON_UNESCAPED_SLASHES);

如果您正在运行PHP&lt; 5.4,你可以使用其他JSON_HEX_TAG*常量。

答案 1 :(得分:0)

我认为你只需要改变这样的撇号:

$send_message_code="<a href='http://www.epbitservices.com/webservices/R/1/' style='text-decoration:none;'>'http://www.epbitservices.com/webservices/E/epbitservices/</a>";
$x['myvar']= $send_message_code;        
$Text = json_encode($x);            
echo $Text;