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设计模式 Delegation(委托模式)
Jun 26 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
yii实现创建验证码实例解析
Jul 31 PHP
PHP中你应该知道的require()文件包含的正确用法
Jun 12 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 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新手上路(十三)
2006/10/09 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
JS实现页面打印(整体、局部)
2017/08/18 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
python对html过滤处理的方法
2018/10/21 Python
python实现词法分析器
2019/01/31 Python
python中Lambda表达式详解
2019/11/20 Python
python和c语言哪个更适合初学者
2020/06/22 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
方正Java笔试题
2014/07/03 面试题
外贸实习生自荐信范文
2013/11/24 职场文书
会计学专业求职信
2014/07/17 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
寒假生活随笔
2015/08/15 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
详解thinkphp的Auth类认证
2021/05/28 PHP
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
Java输出Hello World完美过程解析
2021/06/13 Java/Android