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+MySQL5.0中文乱码解决方法
Nov 20 PHP
php学习 字符串课件
Jun 15 PHP
Php Cookie的一个使用注意点
Nov 08 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
PHP生成压缩文件实例
Feb 07 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
JavaScript 指导方针
2007/04/05 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
Python中的类与对象之描述符详解
2015/03/27 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
Python定义一个函数的方法
2020/06/15 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
小学生班会演讲稿
2014/01/09 职场文书
高中军训感想300字
2014/03/04 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
群众路线专项整治方案
2014/10/27 职场文书
导游欢迎词范文
2015/01/23 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python