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中header的用法详解
Jun 07 PHP
php调用google接口生成二维码示例
Apr 28 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
php编写的抽奖程序中奖概率算法
May 14 PHP
PHP7+Nginx的配置与安装教程详解
May 10 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
php链式操作的实现方式分析
Aug 12 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
Oct 08 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 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
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
js实现常用排序算法
2016/08/09 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
使用webpack打包koa2 框架app
2018/02/02 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
Python下的twisted框架入门指引
2015/04/15 Python
python reduce 函数使用详解
2017/12/05 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
Python实现FTP文件传输的实例
2019/07/07 Python
Python如何合并多个字典或映射
2020/07/24 Python
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
波兰购物网站:MALL.PL
2019/05/01 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
新闻学专业应届生求职信
2013/11/08 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
愚人节活动策划方案
2014/03/11 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle