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&MYSQL留言板源码
Jul 19 PHP
用来给图片加水印的PHP类
Apr 09 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
使用php计算排列组合的方法
Nov 13 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
php实现图片缩略图的方法
Mar 29 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
Jul 16 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 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/02/27 无线电
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
Apache2 httpd.conf 中文版
2006/12/06 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
php删除指定目录的方法
2015/04/03 PHP
Yii清理缓存的方法
2016/01/06 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
浅析PEP572: 海象运算符
2019/10/15 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
使用Django清空数据库并重新生成
2020/04/03 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
super关键字的用法
2012/04/10 面试题
政协会议宣传标语
2014/10/09 职场文书
三好学生个人总结
2015/02/15 职场文书
创业计划之特色精品店
2019/08/12 职场文书
SQL Server使用导出向导功能
2022/04/08 SQL Server