欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php 反斜杠处理函数addslashes()和stripslashes()实例详解

程序员文章站 2024-04-01 18:46:46
php 反斜杠处理函数 addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要。这些预定义字符是:单引号 (') ,双...

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'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?

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!