PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例

PHP addcslashes()函数
定义和用法
addcslashes()函数在指定的字符前添加反斜杠。
语法
addcslashes(string,characters)参数 描述
string 必需。规定要检查的字符串。
characters可选。规定受 addcslashes() 影响的字符或字符范围。
提示和注释
注释:在对 0rnt应用 addcslashes() 时要小心。在 PHP 中,\0\r\n\t是预定义的转义序列。
实例
例子 1
在本例中,我们要向字符串中的特定字符添加反斜杠:


输出:

Hello, my name is John Adams.
Hello, \my na\me is John Ada\ms.
Hello, my name is \John Adams.

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

";
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.他们都有对应的去除他们添加的反斜杠的方法,分别是:stripcslashes()stripslashes()```。

PHPaddslashes()函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

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

stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。

用法示例如下:

";//输出字符串$str
 echo $astr=addslashes($str);//字符串转义并输出
 echo "
"; echo stripslashes($astr);//将转义字符串还原 ?> 运行结果如下:

select * from book where bookname='脚本之家'
select * from book where bookname='脚本之家'
select * from book where bookname='脚本之家'

补充:

```addslashes()```与```addcslashes()```函数的区别:

这是两个写法非常相近但是使用有所区别的函数,addslashes() 函数返回在预定义字符之前添加反斜杠的字符串,而addcslashes() 函数返回在指定字符前添加反斜杠的字符串,因此addcslashes() 函数需要添加附加参数说明需要添加反斜杠的具体字符。

你可能感兴趣的:(PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例)