addslashes
addslashes
(PHP 4, PHP 5, PHP 7)
addslashes - 用斜杠引用字符串
描述
string addslashes ( string $str )
在需要转义的字符之前返回带反斜杠的字符串。这些字符是单引号('
),双引号(“
),反斜线(__)和NULL
(NULL
字节)。
addslashes()的
一个示例使用是当您将数据输入到由PHP评估的字符串中时。例如,O'Reilly
存储在$ str中,您需要转义$ str。(例如eval(“echo'”.addslashes($ str)。“';”);)
为了逃避数据库参数,DBMS特定的转义函数(例如MySQL的mysqli_real_escape_string()或PostgreSQL的pg_escape_literal(),pg_escape_string())应该用于安全原因。DBMS具有不同于参数的标识符(例如表名,字段名称)的转义规范。一些DBMS如PostgreSQL提供了标识符转义函数pg_escape_identifier(),但不是所有的DBMS都提供标识符转义API。如果是这种情况,请参阅数据库系统手册以获取正确的转义方法。
如果你的DBMS没有转义函数,并且DBMS使用__来转义特殊字符,那么只有当这个转义方法适用于你的数据库时,才可以使用这个函数。请注意,使用addslashes()
进行数据库参数转义可能会导致大多数数据库出现安全问题。
在
默认情况下,PHP指令的magic_quotes_gpc是开启的,在
PHP 5.4之前,它基本上在
运行,且addslashes()
对所有的GET,POST,COOKIE数据。不要在
已使用magic_quotes_gpc转义的字符串上使用addslashes()
,因为您将执行双重转义。函数get_magic_quotes_gpc()可能会派上用场来检查它。
参数
str
要转义的字符串。
返回值
返回转义字符串。
例子
示例#1 一个addslashes()示例
<?php
$str = "Is your name O'Reilly?";
// Outputs: Is your name O\'Reilly?
echo addslashes($str
?>
扩展内容
- stripcslashes() - 使用addcslashes引用不加引号的字符串
- stripslashes() - 取消引号引用的字符串
- addcslashes() - 用C样式的斜杠引用字符串
- htmlspecialchars() - 将特殊字符转换为HTML实体
- quotemeta() - 引用元字符
- get_magic_quotes_gpc() - 获取magic_quotes_gpc的当前配置设置
← addcslashes
bin2hex →