PHP关于反斜杠处理函数addslashes()和stripslashes()的用法

http://yangjunwei.com/a/589.html

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?

时间: 2024-10-24 13:43:25

PHP关于反斜杠处理函数addslashes()和stripslashes()的用法的相关文章

反斜杠处理函数addslashes()和stripslashes()

addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要.这些预定义字符是:单引号 (') ,双引号 (") ,反斜杠 (\) ,NULL. stripslashes():删除由 addslashes() 函数添加的反斜杠.该函数用于清理从数据库或 HTML 表单中取回的数据.(若是连续二个反斜杠,则去掉一个,保留一个:若只有一个反斜杠,就直接去掉.)

PHP去掉转义后字符串中的反斜杠\函数stripslashes

addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段 json数据到PHP端的时候可能会遇到json字符串中有\导致json_decode函数无法将json数据转换成数组的情况,这时你就需要 stripslashes函数. 该函数用于清理从数据库或 HTML 表单中取回的数据.

问题处理:php json_decode函数处理的字符串中含有反斜杠“\”时,处理出错,返回的结果为NULL

php json_decode函数处理的字符串中含有反斜杠“\”时,处理出错,返回的结果为NULL. 处理方法,将字符串中的反斜杠1个替换成2个: /** * 一个反斜杠要替换成4个,否则json_decode不能解析 */ $json_str = str_replace('\\','\\\\',$json_str); $json = json_decode($json_str,true);

PathRemoveFileSpec 函数的作用:将路径末尾的文件名和反斜杠去掉(与GetModuleFileName配合)

PathRemoveFileSpec 函数的作用:将路径末尾的文件名和反斜杠去掉. 例如,我们想获取EXE文件自身所在的文件夹,可以这样: [cpp] view plain copy #include <stdio.h> #include <Shlwapi.h> #pragma comment(lib,"shlwapi.lib") int main() { TCHAR szPath[MAX_PATH]; //获取应用程序或者DLL的完整路径 ::GetModul

php post get 繁体、日文、韩文时 自动添加 反斜杠 问题

做些二次开发项目,数据库.文件编码没法大规模的修改,比如二次开发一个日文系统,编码是JA16SJIS,$_POST或$_GET的信息中如果“申請”,得到的信息就会变成“申\請”,多出一个反斜杠! 先贴出整理的解决办法,在有需要的地方或配置文件中加入如下代码 if (get_magic_quotes_gpc()) {    function stripslashes_deep($value)    {        $value = is_array($value) ?        array_

MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)

MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义 问题描述:mysql中带有反斜杠的内容入库后,发现反斜杠无故失踪了(俗话说被吃掉了) 例:插入insert into tb('url') values('absc\eeee'); 结果数据库里的内容是:absceeee(反斜杠没了呢) 这么详细了相信大家都搞清楚问题了吧,下面看解决方案. 解决方案:用addslashes(),mysql_escape_string()等函数进行处理,也就是在插入数据库前,把内容处理一下  如:$cc = ad

java 删除字符串中的反斜杠\

Java中有时候会打印出来会含有反斜杠(\)的字符串,我们需要删除时,可以使用 replace() 或 replaceAll() 但是要注意的是replaceAll()里面用的是正则表达式,所以一个斜扛要写4个,即在这个函数里,\\\\代表\(是个反斜杠代表打印出的一个斜杠) 用str.replaceAll( “\\\\”,  “”);就实现了消除str中的所有反斜杠.

【转】python中的正斜杠、反斜杠

原文地址:http://www.cnblogs.com/followyourheart1990/p/4270566.html 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" p

PHP在引号前面添加反斜杠的原因及PHP去除反斜杠的办法

昨天用PHP做了个读写html文档的小程序,本地测试正常但是传到网站后发现,提交内容保存的时候会自动在双引号前面增加一个反斜杠“\”,而且每保存一次增加一个反斜杠,很是郁闷. 当然做这个只是为了参加电商圈的网站进行更新,因为懒得装cms和博客程序了,就直接用php在线修改html文档来更新文字吧. 从网上搜了一下原来是PHP程序为了防止注入或者溢出,通过PHP 指令 magic_quotes_gpc自动在双引号.单引号.反斜杠.NULL前面添加反斜杠“\”. 但是我们为了读写html文档,里面自