上QQ阅读APP看书,第一时间看更新
5.4.1 转义和还原字符串数据
转义和还原字符串数据有两种方法:一种是自己手动转义和还原字符串数据,另一种是自动转义和还原字符串数据。下面分别对这两种方法进行介绍。
1.手动转义和还原字符串数据
定义字符串有三种方法,分别为单引号(')、双引号(")和定界符(<<<),定义字符串时,很可能在该字符串中存在这几种(',",<<<)与PHP脚本混淆的字符,因此必须要对这几种字符做转义处理。
转义字符,顾名思义,就是把字符变成不同于其原来的含义。转义字符以反斜线“\”开头,后跟一个或几个字符。例如:“'”是字符串的定界符,写为“\'”就失去了定界符的意义,变成了普通单引号“'”。
例如下面的代码:
<?php echo '游山西村\'莫笑农家腊酒浑,丰年留客足鸡豚.\''; ?>
运行结果输出如下:
游山西村'莫笑农家腊酒浑,丰年留客足鸡豚。'
手动转义的字符串可应用addcslashes()函数进行字符串还原。
2.自动转义和还原字符串数据
简单的字符串建议采用手动的方法进行字符串转义,而对于数量比较大的字符串,建议采用自动转义函数实现字符串的转义。自动转义和还原字符串数据可以使用PHP提供的addslashes()函数和stripslashes()函数来实现。
addslashes()函数返回在预定义字符之前添加反斜杠的字符串。addslashes()函数的语法格式如下:
addslashes(string)
stripslashes()函数删除由addslashes()函数添加的反斜杠。stripslashes()函数的语法格式如下:
stripslashes(string)
【例5-7】自动转义、还原字符串数据(实例文件:源文件\ch05\5.7.php)。
<?php $str="游山西村'莫笑农家腊酒浑,丰年留客足鸡豚.'"; echo "$str"."<br/>"; echo addslashes($str)."<br />"; echo stripslashes($str)."<br />"; ?>
运行结果如图5-8所示。
图5-8 自动转义和还原字符串数据