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 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
用PHP制作静态网站的模板框架(一)
Oct 09 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 PHP
php检测useragent版本示例
Mar 24 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
May 02 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 程序员也要学会使用“异常”
2009/06/16 PHP
PHP中的正则表达式函数介绍
2012/02/27 PHP
php生成与读取excel文件
2016/10/14 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
如何理解Python中包的引入
2020/05/29 Python
详解python的super()的作用和原理
2020/10/29 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
公司董事长职责
2013/12/12 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
企业宣传标语
2014/06/09 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书