0

5.4.6PHP下自动转义、还原字符串数据

Posted by 撒得一地 on 2016年3月4日 in PHP入门教程

自动转义、还原字符串数据可以应用PHP提供的addslashes()函数和stripslashes()函数实现。

addslashes()函数

addslashes()函数用来为字符串str加入斜线“\”。

语法格式如下:

string addslashes(string str)

addslashes()函数用来将使用addslashes()函数转义后的字符串str返回原样。

stripslashes()函数

stripslashes()函数用来将使用addslashes()函数转义后的字符串str返回原样。

语法格式如下:

string stripslashes(string str);

实例:使用自动转义字符addslashes()函数对字符串进行转义,然后使用stripslashes()函数进行还原,实例代码如下:

<?php
$str =  "select * from stu_table1 where name = 'jack' ";
echo $str."<br/>";
$a = addslashes($str);
echo $a."<br/>";
$b = stripslashes($a);
echo $b;
?>

上面输出结果:

select * from stu_table1 where name = 'jack'

select * from stu_table1 where name = \'jack\'

select * from stu_table1 where name = 'jack'

所有数据在插入数据库之前,有必要应用addslashes()函数进行字符串转义,以免特殊字符未经转义在插入数据库时出现错误。另外,对于使用addslashes()函数实现的自动转义字符串可以使用stripslashes()函数进行还原,但数据在插入数据库之前必须再次进行转义。

以上两个函数实现了对指定字符串进行自动转义和还原。除了上面介绍的方法外,还可以对要转义、还原的字符串进行一定范围的限制,通过使用addcslashes()函数和stripcslashes()函数实现对指定范围内的字符串进行自动转义、还原。下面分别对这两个函数进行详细介绍。

addcslashes()函数

实现转义字符串中的字符,即在指定的字符charlist前加上反斜线。

语法格式如下:

string addcslashes(string str ,string chartist)

参数str为将要被操作的字符串,参数charlist指定在字符串中的哪些字符前加上反斜线“\”,如果参数charlist中包含\n、\r等字符,将以C语言风格转换,而其他非字母数字且ASCII码低于32以及高于126的字符均转换成八进制表示。

stripcslashes()函数

stripcslashes ()函数用来将应用addcslashes()函数转义的字符串str还原。

语法格式如下:

string stripcslashes(string str)

实例:使用addcslashes()函数对字符串“待转义字符串”进行转义,使用stripcslashes()函数对转义的字符串进行还原,实例代码如下:

<?php
	$str =  "待转义字符串";
	echo $str."<br/>";

	$str1 = addcslashes($str,"待转义字符串");
	echo $str1."<br/>";

	$str2 = stripcslashes($str1);
	echo $str2;

?>

输出结果:

待转义字符串

\345\276\205\350\275\254\344\271\211\345\255\227\347\254\246\344\270\262

待转义字符串

注意

在缓存文件中,一般对缓存数据的值采用addcslashes()函数进行指定范围的转义。

上一篇:

下一篇:

相关推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 + 5 = ?

网站地图|XML地图

Copyright © 2015-2018 技术拉近你我! All rights reserved.
闽ICP备15015576号-1,版权所有©psz.