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开发中常用的字符串操作函数
Feb 08 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
7个鲜为人知却非常实用的PHP函数
Jul 01 PHP
如何打开php的gd2库
Feb 09 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
php利用ZipArchive类操作文件的实例
Jan 21 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 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的远程多会话调试
2017/09/21 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
Python中super()函数简介及用法分享
2016/07/11 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
2014村务公开实施方案
2014/02/25 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
中标通知书
2015/04/17 职场文书
2015年公务员工作总结
2015/04/24 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
python基于turtle绘制几何图形
2021/06/15 Python
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server