PHP在引号前面添加反斜杠(PHP去除反斜杠)

 更新时间:2013年09月28日 23:50:45   作者:  
PHP在引号前面添加反斜杠的原因及PHP去除反斜杠的办法,三种办法关闭php魔术引号

一般空间商提供的服务器空间默认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中调试函数debug_backtrace的使用示例代码

    PHP中调试函数debug_backtrace的使用示例代码

    debug_backtrace() 是一个很低调的函数,很少有人注意过它,这篇文章主要给大家介绍了关于PHP中调试函数debug_backtrace的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,感兴趣的朋友们随着小编来一起学习学习吧。
    2017-09-09
  • php 检查电子邮件函数(自写)

    php 检查电子邮件函数(自写)

    检查电子邮件的工作对于一些注册类的网站来说非常有必要,下面有个不错的函数,大家可以参考下
    2014-01-01
  • 关于PHP中协程和阻塞的一些理解与思考

    关于PHP中协程和阻塞的一些理解与思考

    这篇文章主要给大家介绍了关于PHP中协程和阻塞的一些理解与思考,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • php操作access数据库的方法详解

    php操作access数据库的方法详解

    这篇文章主要介绍了php操作access数据库的方法,结合实例形式详细分析了php基于ADOdb、PDO及ODBC等方式连接与操作access数据库的具体实现技巧与相关注意事项,需要的朋友可以参考下
    2017-02-02
  • PHP IN_ARRAY 函数使用注意事项

    PHP IN_ARRAY 函数使用注意事项

    其实关键还是因为 php是弱类型语言,php进行比较的时候 最好还是使用strict方法的。因为这样不但比较两者的值是否一直,还会比较两者的类型是否一直。
    2010-07-07
  • PHP取余函数介绍MOD(x,y)与x%y

    PHP取余函数介绍MOD(x,y)与x%y

    php取余数用%符号,即为模运算,取余数的意思,这玩意使用起来可要注意啦
    2014-05-05
  • 全面解析PHP验证码的实现原理 附php验证码小案例

    全面解析PHP验证码的实现原理 附php验证码小案例

    这篇文章主要为大家全面解析了PHP验证码的实现原理,附php验证码小案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • lnmp安装多版本PHP共存的方法详解

    lnmp安装多版本PHP共存的方法详解

    这篇文章主要介绍了Lnmp环境中设置多版本PHP共存的技巧,依靠php-fpm工具来进行管理,需要的朋友可以参考下
    2018-08-08
  • adodb与adodb_lite之比较

    adodb与adodb_lite之比较

    这篇文章主要介绍了adodb与adodb_lite之比较
    2006-12-12
  • PHP数组与对象之间使用递归实现转换的方法

    PHP数组与对象之间使用递归实现转换的方法

    这篇文章主要介绍了PHP数组与对象之间使用递归实现转换的方法,涉及php数组与对象的相关操作技巧,需要的朋友可以参考下
    2015-06-06

最新评论