您现在的位置是:首页 > PHP技术PHP技术
PHP关于反斜杠处理函数addslashes()和stripslashes()的用法
2015-03-07【PHP技术】2302 人已围观
简介在制作英文网站的时候,后台经常需要输入一些字符符号。有的符号跟程序处理时的符号是一样的,这样经常造成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:
很赞哦! ()
相关文章
随机图文
-
下拉菜单select友情链接跳转代码
下拉菜单select友情链接自动跳转做法,一般是用js 或者 jquery来做到. 这是网站开发当中前端居必会及常用的技巧.可惜殷雯工作室... -
Thinkphp3.1.3验证码原理以
为什么小编现在还天天写thinkphp3.1.3的文章呢?因为最新的php版本也许是最好的. 但我们的原则是适用和高效.tp3.1.3很符合... -
Thinkphp5.1.30 Session使用笔记
原生PHP使用session过程<?php session_start(); session("username&q... -
Thinkphp更新数据时间字段的插入
thinkphp在处理数据写入数据库时同时记录操作时间,可以用$arr['add_time'] = time();或date...