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
献给php初学者(入门学习经验谈)
Oct 12 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
几个实用的PHP内置函数使用指南
Nov 27 PHP
PHP连接access数据库
Mar 27 PHP
JSON字符串传到后台PHP处理问题的解决方法
Jun 05 PHP
php版微信公众号接口实现发红包的方法
Oct 14 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 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/06 新手入门
PHP多维数组排序array详解
2017/11/21 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
JavaScript实现短暂提示框功能
2018/04/04 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
python flask安装和命令详解
2019/04/02 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
医学院护理专业应届生求职信
2013/11/12 职场文书
新闻专业推荐信范文
2013/11/20 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
浪费资源的建议书
2014/03/12 职场文书
新春寄语大全
2014/04/09 职场文书
协议书与合同的区别
2014/04/18 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫