使用反斜线引用字符串 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 的配置选项设置