+ -
当前位置:首页 → 问答吧 → 如何取消ThinkPHP的自动转义单引号和双引号

如何取消ThinkPHP的自动转义单引号和双引号

时间:2011-05-31

来源:互联网

在ThinkPHP中插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,
但是我不想给单引号和双引号加上反斜线,
如:abc"d"e'f'g
会被自动转义为:abc\"d\"e\'f\'g
请注意我需要的是取消这个转义的功能,而不是使用stripslashes() 函数删除这些反斜杠,即不需要官方的这个自动转义的功能。
请问需要怎么处理?谢谢!

作者: 阿咏   发布时间: 2011-05-31

额,不转义的话,你能入库不?

作者: vus520   发布时间: 2011-06-01

我有别的用处

作者: 阿咏   发布时间: 2011-06-01

这是你php环境配置的问题。 你在你的  common.php 文件中, 加一段代码。 这样你在不同的环境都不会出这样的情况了。
  1. if (get_magic_quotes_gpc()) {

  2.     function stripslashes_deep($value)

  3.     {

  4.         $value = is_array($value) ?

  5.                     array_map('stripslashes_deep', $value) :

  6.                     stripslashes($value);

  7.         return $value;

  8.     }

  9.     $_POST = array_map('stripslashes_deep', $_POST);

  10.     $_GET = array_map('stripslashes_deep', $_GET);

  11.     $_COOKIE = array_map('stripslashes_deep', $_COOKIE);

  12. }
复制代码

作者: luofei614   发布时间: 2011-06-01