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 Xdebug 调试扩展的安装与使用.
Mar 13 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
php URL验证正则表达式
Jul 19 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
php导出CSV抽象类实例
Sep 24 PHP
javascript some()函数用法详解
Nov 13 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
php微信开发之关键词回复功能
Jun 13 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 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显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
jQuery 技巧小结
2010/04/02 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
vue组件watch属性实例讲解
2017/11/07 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
2019年.net常见面试问题
2012/02/12 面试题
学生党员思想汇报
2013/12/28 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
教师教学评估方案
2014/05/09 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
汉字听写大会观后感
2015/06/12 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
开网店计划分析
2019/07/30 职场文书
德劲DE1108畅想
2021/04/22 无线电
springboot用户数据修改的详细实现
2022/04/06 Java/Android