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维护文件系统
Oct 09 PHP
一个好用的分页函数
Nov 16 PHP
php date与gmdate的获取日期的区别
Feb 08 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
php给每个段落添加空格的方法
Mar 20 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
php实现的表单验证类完整示例
Aug 13 PHP
php如何实现数据库的备份和恢复
Nov 30 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
python计算文本文件行数的方法
2015/07/06 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
python实现微信自动回复机器人功能
2019/07/11 Python
Python使用贪婪算法解决问题
2019/10/22 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
如何通过命令行进入python
2020/07/06 Python
Python之字典对象的几种创建方法
2020/09/30 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
高级Java程序员面试要点
2013/08/02 面试题
儿子婚宴答谢词
2014/01/09 职场文书
社区庆八一活动方案
2014/02/02 职场文书
投资合作协议书
2014/04/17 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏