关于stripslashes函数去除反斜杠的问题。

请看代码


<?php
$test = array("url"=>"http://www.google.com","name"=>"谷歌");
$new_str = json_encode($test);
echo $new_str;
echo "</br>";
echo stripslashes($new_str);
echo "</br>";
echo str_replace("\\/","/",$new_str);
?>

执行结果

20160317115934

对于PHP开启了魔术方法的时候,我们可以使用stripslashes函数来解决,但是有一种情况下是不能这么做的,当Json中包含中文的时候,中文被转义成\u这样的编码,这样会使json中文失效。我们可以直接使用字符串替换的方式来解决。


echo str_replace("\\/","/",$new_str);

如果你的php版本php5.4或以上,可以这样

echo json_encode("中文", JSON_UNESCAPED_UNICODE);

这样生成中文不会转义编码。

此条目发表在php语言分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注