PHP在引号前面添加反斜杠(PHP去除反斜杠)


Posted in PHP onSeptember 28, 2013

一般空间商提供的服务器空间默认PHP 指令 magic_quotes_gpc是on的,也就是打开的。这时候就可以用stripslashes() 函数删除自动添加的反斜杠。用法就是:比如包含字符串的变量是$str,那么就用stripslashes() 函数处理一下这个字符串:stripslashes($str),输出的结果就是去掉反斜杠的。

如果遇到输出的结果中包含反斜杠的,可对输出内容用stripslashes()函数处理一下,即$str=stripslashes($str),保存即可将输出内容中包含的反斜杠去掉。

但是又存在另外一个问题,那就是因为本地PHP 指令 magic_quotes_gpc是off的,如果用这个函数的话,就会把本来正常的反斜杠也去掉了。这样就不是我们所希望的了。

解决办法就是可以使用函数 get_magic_quotes_gpc() 进行检测,如果是打开的状态,那么就去除反斜杠,如果是关闭的状态,则不去除反斜杠。

程序代码如下:

 $str=$_POST["str"];           //读取str的内容赋值给$str变量 
 if(get_magic_quotes_gpc()){   //如果get_magic_quotes_gpc()是打开的 
     $str=stripslashes($str);  //将字符串进行处理 
 }

本文于2012年4月25日10:08:03修订如下:

下面介绍三种方法解决这个问题:

1、修改PHP配置文件php.ini
 
这种方法只适于自己有权管理服务器的情况下,如果用的虚拟空间,那就只能采用后两条方法。

在PHP配置文件php.ini中将magic_quotes_gpc、magic_quotes_runtime、magic_quotes_sybase全部设为off。如下所示:

magic_quotes_gpc = Off 
magic_quotes_runtime = Off 
magic_quotes_sybase = Off

2 利用.htaccess文件
 
该方法只在服务器支持htaccess的情况下,现在的服务器一般都会支持的

在程序目录下.htaccess文件中增加下面一句:

php_flag magic_quotes_gpc Off

3 在代码中屏蔽
 
该方法是移植性最强的,不用考虑服务器的配置,只要支持PHP就可以使用。

在所有PHP文件开始处增加下面代码

 if(get_magic_quotes_gpc()){ 
     function stripslashes_deep($value){ 
         $value=is_array($value)?array_map('stripslashes_deep',$value):stripslashes($value); 
         return $value; 
     } 
     $_POST=array_map('stripslashes_deep',$_POST); 
     $_GET=array_map('stripslashes_deep',$_GET); 
     $_COOKIE=array_map('stripslashes_deep',$_COOKIE); 
     $_REQUEST=array_map('stripslashes_deep',$_REQUEST); 
 }
PHP 相关文章推荐
PHP的FTP学习(二)[转自奥索]
Oct 09 PHP
PHP Document 代码注释规范
Apr 13 PHP
php cli 方式 在crotab中运行解决
Feb 08 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
Jul 25 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 #PHP
PHP无限分类(树形类)
Sep 28 #PHP
PHP的PSR规范中文版
Sep 28 #PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 #PHP
php中time()和mktime()方法的区别
Sep 28 #PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 #PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 #PHP
You might like
PHP删除数组中空值的方法介绍
2014/04/14 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
使用js和canvas实现时钟效果
2020/09/08 Javascript
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
安装dbus-python的简要教程
2015/05/05 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python构建深度神经网络(续)
2018/03/10 Python
python发送告警邮件脚本
2018/09/17 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
pycharm显示远程图片的实现
2019/11/04 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
python音频处理的示例详解
2020/12/23 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
接待员岗位责任制
2014/02/10 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
司法局火灾防控方案
2014/06/05 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript