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中通过smtp发邮件的类,测试通过
Jan 22 PHP
php 常用算法和时间复杂度
Jul 01 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
php结合ACCESS的跨库查询功能
Jun 12 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
php框架知识点的整理和补充
Mar 01 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提高编程效率的20个要点
2015/09/23 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
Javascript 强制类型转换函数
2009/05/17 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
vue点击当前路由高亮小案例
2019/09/26 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
基于Python的关键字监控及告警
2017/07/06 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
经管应届生求职信
2013/11/17 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
社区矫正工作方案
2014/06/04 职场文书
教育实习指导教师评语
2014/12/31 职场文书
教师求职自荐信
2015/03/26 职场文书
总经理聘用协议书
2015/09/21 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
担保书怎么写 ?
2019/04/22 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS