您现在的位置是:首页 > PHP技术PHP技术
PHP关于反斜杠处理函数addslashes()和stripslashes()的用法
2015-03-07【PHP技术】2530 人已围观
简介在制作英文网站的时候,后台经常需要输入一些字符符号。有的符号跟程序处理时的符号是一样的,这样经常造成msql语句...
在制作英文网站的时候,后台经常需要输入一些字符符号。有的符号跟程序处理时的符号是一样的,这样经常造成msql语句出错,这时我们需要对用户输入的内容进行转义。 addsalshes,stripslashes二个函数就是为此而生。
PHP自带的库函数 addslashes() 和 stripslashes() 都属于字符串处理类函数,作用正好相反:
addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要。这些预定义字符是:单引号 (\') ,双引号 (\") ,反斜杠 (\\) ,NULL。
stripslashes():删除由 addslashes() 函数添加的反斜杠。该函数用于清理从数据库或 HTML 表单中取回的数据。(若是连续二个反斜杠,则去掉一个,保留一个;若只有一个反斜杠,就直接去掉。)
ps:默认情况下,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\'s John Adams?\";
echo $str . \" This is not safe in a database query.<br />\";
echo addslashes($str) . \" This is safe in a database query.\";
?>
输出:
Who\'s John Adams? This is not safe in a database query.
Who\\\'s John Adams? This is safe in a database query.
stripslashes() 例子:
<?php
echo stripslashes(\"Who\\\'s John Adams?\");
?>
输出:
Who\'s John Adams?
关注宁波网站建设博客,更多精彩分享,敬请期待!
Tags:
很赞哦! ()
相关文章
随机图文
Thinkphp时间段查询sql构建问题
一个项目内需要用到时间范围查询,例如t1=2018-01-01 到 t2=2018-02-02.小编希望得到的sql语句是sql = &q...http_build_query()函数使用方法
在aliyun的短信php sdk内有一个http_build_query函数用到.一查是php的内置函数.功能还不错.http_build...PHP str_pad函数使用注意点
定义和用法str_pad() 函数把字符串填充为新的长度。语法str_pad(string,length,pad_string,pad_ty...Thinkphp5.1 session的使用
某项目小编著电脑本地测试无误,上传到服务器后出现致命错误: Class 'thinkFacadeSession' not...