首頁 >php教程 >php手册 >PHP 字符串转义函数(addslashes,stripslashes)详解

PHP 字符串转义函数(addslashes,stripslashes)详解

WBOY
WBOY原創
2016-06-13 09:36:391336瀏覽

在PHP中,有两个函数与字符串的转义有关,他们分别是 addslashes 和 stripslashes。

addslashes($string), 在指定的预定义字符前添加反斜杠 (\),用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。

注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

stripslashes($string),是addslashes()的反函数,用于删除由 addslashes() 函数添加的反斜杠以还原被转义的字符,也叫反转义,主要用于清理从数据库或 HTML 表单中取回的数据。

那么 addslashes 会对哪些字符进行转义呢,如下:

单引号 (')
双引号 (")
反斜杠 (\)
NULL

另外,以单引号为定界符的字符串,支持两个转义字符:

单引号 (')
反斜杠 (\)

以双引号为定界符的字符串,支持下列转义:

\n 换行 (LF 或 ASCII 字符 0x0A (10))
\r 回车 (CR 或 ASCII 字符 0x0D (13))
\t 水平制表符 (HT 或 ASCII 字符 0x09 (9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符

您可能感兴趣的文章

  • php字符串替换函数str_replace速度比preg_replace快
  • PHP中的字符串处理函数(String Functions) 全总结
  • php性能优化:使用 isset()判断字符串长度速度比strlen()更快
  • javascript的字符串编码函数escape,encodeURI,encodeURIComponent比较与分析
  • php被遗忘的一些功能强大的字符串处理函数
  • php过滤字符串函数
  • php最精确的字符串长度截取函数
  • PHP 生成连续的数字(字母)数组函数range()分析,PHP抽奖程序函数
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn