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实现mysql数据库备份类
Mar 20 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
关于Yii中模型场景的一些简单介绍
Sep 22 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 22 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
谈一谈收音机的高放电路
2021/03/02 无线电
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP 万年历实现代码
2012/10/18 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
phplot生成图片类用法详解
2015/01/06 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
php HTML无刷新提交表单
2016/04/05 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
2010/10/01 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
Python生成随机数的方法
2014/01/14 Python
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
python清除函数占用的内存方法
2018/06/25 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
Python使用scrapy爬取阳光热线问政平台过程解析
2019/08/14 Python
Python 私有化操作实例分析
2019/11/21 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
Python用SSH连接到网络设备
2021/02/18 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
励志演讲稿200字
2014/08/21 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
redis三种高可用方式部署的实现
2021/05/11 Redis