5.4.6PHP下自动转义、还原字符串数据
下一篇: 5.4.7PHP下strlen函数
自动转义、还原字符串数据可以应用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()函数进行指定范围的转义。
下一篇: 5.4.7PHP下strlen函数