Php/docs/function.addslashes
addslashes
(PHP 4, PHP 5, PHP 7)
addslashes — 使用反斜线引用字符串
说明
addslashes
( string $str
) : string
返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号('
)、双引号("
)、反斜线(\
)与
NUL(null
字符)。
一个使用 addslashes()
的例子是当你要往数据库中输入数据时。
例如,将名字
O'reilly
插入到数据库中,这就需要对其进行转义。
强烈建议使用 DBMS 指定的转义函数
(比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string()),但是如果你使用的 DBMS 没有一个转义函数,并且使用 \
来转义特殊字符,你可以使用这个函数。
仅仅是为了获取插入数据库的数据,额外的 \
并不会插入。
当 PHP
指令 magic_quotes_sybase
被设置成 on
时,意味着插入
'
时将使用
'
进行转义。
PHP 5.4 之前 PHP 指令
magic_quotes_gpc 默认是 on
, 实际上所有的 GET、POST 和 COOKIE 数据都用被 addslashes() 了。 不要对已经被
magic_quotes_gpc
转义过的字符串使用
addslashes(),因为这样会导致双层转义。 遇到这种情况时可以使用函数
get_magic_quotes_gpc()
进行检测。
参数
str
- 要转义的字符。
返回值
返回转义后的字符。
范例
Example #1 一个 addslashes() 例子
<?php$str = "Is your name O'reilly?";// 输出: Is your name O\'reilly?echo addslashes($str);?>
参见
- stripcslashes() - 反引用一个使用 addcslashes 转义的字符串
- stripslashes() - 反引用一个引用字符串
- addcslashes() - 以 C 语言风格使用反斜线转义字符串中的字符
- htmlspecialchars() - 将特殊字符转换为 HTML 实体
- quotemeta() - 转义元字符集
- get_magic_quotes_gpc() - 获取当前 magic_quotes_gpc 的配置选项设置