您现在的位置是:首页 > PHP技术PHP技术
PHP关于反斜杠处理函数addslashes()和stripslashes()的用法
2015-03-07【PHP技术】2811 人已围观
简介在制作英文网站的时候,后台经常需要输入一些字符符号。有的符号跟程序处理时的符号是一样的,这样经常造成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:
很赞哦! ()
相关文章
随机图文
Thinkphp3.1.3上传文件
基础不好有时会卡在一些简单的东西上面. thinkphp上传文件功能还是很好用的, 有时一个表单需要上传二个或者以上文件时.起先还以为是跟表...dedecms通过增加自定义属性达到文章分类的效果
dedecms是个功能强大的网站管理系统,殷雯工作室开发网站功能时有学习他们功能的思想。今天来研究一下dedecms的文章附加属性功能。...Thinkphp5.1.30 分页think\paginator\driver\Bootstrap has no effect解决
Tp5.1.30对以往版本有很大的改进。$list = Db:name('表名')->paginate(10);返...Thinkphp5.1 session的使用
某项目小编著电脑本地测试无误,上传到服务器后出现致命错误: Class 'thinkFacadeSession' not...