1.自动转义函数 addslashes()
addslashes()函数用来为字符串$str加入斜线"\"。语法格式如下:
string addslashes(string $str)
2.还原字符串函数 stripslashes()
stripslashes()函数用来将使用addslashes()函数转义后的字符串$str返回原样。语法格式如下:
string stripslashes(string $str)
例子:
$str = "select * from book where bookname='php5入门到精通'";
echo $str."<br/>";
$a = addslashes($str);
echo $a."<br/>";
$b = stripslashes($a);
echo $b."<br/>";
结果如下:
select * from book where bookname='php5入门到精通'
select * from book where bookname=\'php5入门到精通\'
select * from book where bookname='php5入门到精通'
在所有数据插入数据库之前,有必要应用addslashes()函数进行字符串转义,以免特殊字符未经转义在插入数据库之前出现错误。另外,对使用addslashes()函数实现的自动转义字符串可以使用stripslashes()函数进行还原,但数据在插入数据库之前必须再次进行转义。
以上两个函数实现了对指定字符串进行自动转义和还原。除了上面介绍的方法外,还可以对要转义、还原的字符串进行一定范围的限制,通过使用addcslashes()函数和stripslashes()函数实现对指定范围内的字符串进行自动转义、还原。
3. addcslashes()函数
实现转义字符串中的字符,即在指定的字符charlist前面加上反斜杠。语法格式如下:
string addcslashes(string $str,string charlist)
参数$str为将要被称作的字符串,参数charlist指定在字符串中的那些字符前面加上反斜杠"\"。
以及高于126的字符均转换成八进制表示。
注意:在定义参数charlist的范围时,需要明确在开始和结束的范围内的字符。
4. stripcslashes()函数
stripcslashes()函数用来将应用addcslashes()函数转义的字符串$str还原。语法格式如下:
string stripcslashes(string $str)
例子:
$a = "编程体验";
echo $a;
echo "<br/>";
$b=addcslashes($a,"编程体验");
echo $b;
echo "<br/>";
$c=stripcslashes($b);
echo $c;
输出:
编程体验
\261\340\263\314\314\345\321\351
编程体验