关于js怎样替换反斜杠和单引号的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于js怎样替换反斜杠和单引号的问题相关的知识,希望对你有一定的参考价值。

参考技术A 在json数据转义中遇到的一个小问题
一、因为后端传过来的数据的字符串是单引号,所以我这边不能直接直接进行json转义

所以我就把单引号替换成",这样就可以直接把字符串转换成对象的格式,然后来取里面的数据
二、字符串中多个反斜杠,直接转义取数据时报错问题

所以我直接把反斜杠去掉

php中怎么把json双引号前加上转义符\

通过AJAX传到PHP的json字符串有时候加上反斜杠”\”来转义,PHP处理时需要先去掉反斜杠,然后再json_decode.

$str = stripslashes($_POST['json']);
$arr = json_decode($str,true);

PS:php get抓取json怎样去除双引号前面的反斜杠
你这个不算标准的JSON格式数据,可以先将\"替换成"即可。
再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。
若仍输出为NULL,是由于存在BOM头信息,

复制代码 代码如下:

$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);

转换即可。
本文全部内容介绍完了,希望对大家在使用PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠中有所帮助。
参考技术A <?php
$arr=array('sex'=>'男','age'=>30,'job'=>'程序猿');
$json=json_encode($arr);
$result=addslashes($json);
echo "json数据:".$json.'<br>转义结果:'.$result;

参考技术B 用addcslashes函数,$json = addcslashes($json,'"');

在php.ini里把magic_quotes_gpc设置为on时就会自动加上
再用
if(get_magic_quotes_gpc)
来判断
参考技术C stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
参考资料:http://www.w3school.com.cn/php/func_string_stripslashes.asp本回答被提问者和网友采纳
参考技术D 通过AJAX传到PHP的json字符串有时候加上反斜杠”\”来转义,PHP处理时需要先去掉反斜杠,然后再json_decode.

$str = stripslashes($_POST['json']);
$arr = json_decode($str,true);

PS:php get抓取json怎样去除双引号前面的反斜杠
你这个不算标准的JSON格式数据,可以先将\"替换成"即可。
再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。
若仍输出为NULL,是由于存在BOM头信息,

复制代码 代码如下:

$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);

转换即可。

以上是关于关于js怎样替换反斜杠和单引号的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sed 中转义斜杠和双引号和单引号?

Java用'(撇号/单引号)和\(反斜杠)一起替换问题

单引号字符串与双引号字符串中的反斜杠

javascript中双引号和单引号之间的歧义

php中怎么把json双引号前加上转义符\

linux命令学习-引用符号(反斜杠,单引号'',双引号"")