您现在的位置是:首页 > PHP技术PHP技术
PHP关于反斜杠处理函数addslashes()和stripslashes()的用法
2015-03-07【PHP技术】2656 人已围观
简介在制作英文网站的时候,后台经常需要输入一些字符符号。有的符号跟程序处理时的符号是一样的,这样经常造成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:
很赞哦! ()
相关文章
随机图文
ThinkPHP6.0RC2版本发布啦
一早打开网站看到ThinkPHP6.0RC2版本发布——架构升级、精简核心! 厉害,学的比开发的还要慢! 我们在刚适应从tp3.X到tp5....Thinkphp5.1 截取新闻标题长度的办法
tp5.1和原生php一样,在截取新闻标题长度的时候都是一样的考虑.中文在字符串的处理中比英文要多考虑一些东西,因为英文占一个位,中文占...phpstorm:如何设置代码自动换行
File->Settings->Editor 点击general勾选 “ Use soft wrap in editor ” ...Thinkphp5.1.30查询和查询分页代码
查询是非常频繁使用的功能。thinkphp5.1.30查询功能一般流程如下$keywords=Request::param('key...