php中addslashes()和addclashes()函数的区别分析

发布时间:2020-02-13编辑:脚本学堂
本文介绍下,php中的addslashes()函数和addclashes()函数,介绍下它们的用法与区别,有需要的朋友参考下吧。

1,addcslashes 函数
PHP String 函数

定义和用法
addcslashes() 函数在指定的字符前添加反斜杠。

语法
addcslashes(string,characters)

参数 描述
string 必需。规定要检查的字符串。
characters 可选。规定受 addcslashes() 影响的字符或字符范围。

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

例子:
 

复制代码 代码示例:
<?php
//向字符串中的特定字符添加反斜杠
$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 name is John Adams.
Hello, my name is John Adams.

2,addslashes函数
PHP String 函数

定义和用法
addslashes() 函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:
 

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

语法
addslashes(string)

参数 描述
string 必需。规定要检查的字符串。

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

例子:
 

复制代码 代码示例:
<?php
//向字符串中的预定义字符添加反斜杠
$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.
Who's John Adams? This is safe in a database query.

对于函数addslashes()和addclashes(),都有对应的去除反斜杠的方法,分别为:stripcslashes函数和stripslashes函数。有兴趣的朋友,也可以研究下。