php 反斜杠处理函数addslashes()和stripslashes()实例详解
php反斜杠处理函数
addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要。这些预定义字符是:单引号('),双引号("),反斜杠(\),NULL。
stripslashes():删除由addslashes()函数添加的反斜杠。该函数用于清理从数据库或HTML表单中取回的数据。(若是连续二个反斜杠,则去掉一个,保留一个;若只有一个反斜杠,就直接去掉。)
默认情况下,PHP指令magic_quotes_gpc为on,对所有的GET、POST和COOKIE数据自动运行addslashes()。不要对已经被magic_quotes_gpc转义过的字符串使用addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数get_magic_quotes_gpc()进行检测。例:
if(get_magic_quotes_gpc()){ code.... }
addslashes()例子:
<?php $str="Who'sJohnAdams?"; echo$str."Thisisnotsafeinadatabasequery.<br/>"; echoaddslashes($str)."Thisissafeinadatabasequery."; ?>
输出结果:
Who'sJohnAdams?Thisisnotsafeinadatabasequery. Who\'sJohnAdams?Thisissafeinadatabasequery.
stripslashes()例子:
<?php echostripslashes("Who\'sJohnAdams?"); ?>
输出结果:
Who'sJohnAdams?
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!