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采集相关教程之一 CURL函数库
Feb 15 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
PHP7.0安装笔记整理
Aug 28 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
Laravel 前端资源配置教程
Oct 18 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学习之PHP变量
2006/10/09 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
13个PHP函数超实用
2015/10/21 Javascript
java必学必会之static关键字
2015/12/03 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
Python中的变量和作用域详解
2016/07/13 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
python字符串Intern机制详解
2019/07/01 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python 如何设置守护进程
2020/10/29 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
修理厂厂长岗位职责
2014/01/30 职场文书
合伙经营协议书范本
2014/04/18 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
python自动化八大定位元素讲解
2021/07/09 Python
对讲机知识
2022/04/07 无线电