您的位置:首页 > 编程语言 > PHP开发

解析php addslashes()与addclashes()函数的区别和比较

2016-01-06 13:02 555 查看
一、[b] addslashes() 函数[/b]

addslashes(string) 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:
•单引号 (')
•双引号 (")
•反斜杠 (\)
•NULL
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。
注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

$str = "Who's John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";

// 输出:
Who's John Adams? This is not safe in a database query.


去除他们添加的反斜杠的方法 stripslashes()。

二、addcslashes() 函数

addcslashes(string,characters) 函数在指定的字符前添加反斜杠。

string 必需。规定要检查的字符串。

characters 可选。规定受 addcslashes() 影响的字符或字符范围。

注释:在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列。

$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'m');
echo addcslashes($str,'J');

// 输出:
Hello, my name is John Adams.
Hello, \my na\me is John Ada\ms.
Hello, my name is \John Adams.


去除他们添加的反斜杠的方法:stripcslashes()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: