0

0

如何将字符在PHP中的进行转义

一个新手

一个新手

发布时间:2017-09-06 17:03:40

|

3126人浏览过

|

来源于php中文网

原创

手动转义、还原字符

"\" 是一个转义符,紧跟在"\"后面的第一个字符将没有意义或有特殊意义。例如"'"是字符串的定界符,而"\'"中的"'"就失去了定界符的意义,变为了普通的单引号。

例如


echo 'select * from user where username=\'107lab\'';

运行结果为:

Zend_API 深入_PHP_内核
Zend_API 深入_PHP_内核

”扩展PHP“说起来容易做起来难。PHP已经进化成一个日趋成熟的源码包几十兆大小的工具。要骇客如此复杂的一个系统,不得不学习和思考。构建本章内容时,我们最终选择了“在实战中学习”的方式。这不是最科学也不是最专业的方式,但是此方式最有趣,也得出了最好的最终结果。下面的部分,你将先快速的学习到,如何获得最基本的扩展,且这些扩展立即就可运行。然后你将学习到 Zend 的高级 API 功能,这种方式将不得

下载
select * from user where username='107lab'

技巧:对于简单的字符串,建议采用手动的方法进行字符串转义,而对于数据量较大的字符串,建议采用自动转义函数实现字符串的转义。


自动转义,还原字符串

自动转义还原字符串可以应用PHP提供的addslashes()函数和stripslashes()函数实现。

addslashes()函数

用来给字符串str加入斜线"\",对指定字符串中的字符进行转义,该函数可以转义的字符包括,单引号,双引号,反斜杠,和NULL字符"0"。该函数常用于生成SQL语句时,对SQL语句中的部分字符进行转义。

语法如下:

string addslashes(string str);     参数str为将要被操作的字符串。

stripslashes()函数

用来将应用addslashes()函数转义后的字符str返回原样。

语法如下:

string stripslashes(string str);     参数str为将要被操作的字符串。
$str="select * from user where username='107lab'";
$a=addslashes($str);
echo $a."
"
;
$b= stripslashes($a);
echo $b."
"
;

运行结果为:

select * from user where username=\'107lab\'
select * from user where username='107lab'

注:所有数据在插入数据库之前,有必要应用addslashes()函数进行字符串转义,以免特殊字符未经转义在插入数据库时出现错误。

默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 

addcslashes()函数

实现对指定字符串进行转义,即在指定的字符前加上反斜杠。通过该函数可以将要添加到数据库中的字符串进行转义,从而避免出现乱码等问题。

语法如下

string addcslashes(string str,string charlist)

参数str为将要被操作的字符串;参数charlist指定在字符串中哪些字符前加上反斜杠"\",如果参数charlist中包含"\n"、"\r"等字符,将以C语言的风格转换,而其他非字母数字且ASCII码低于32以及高于126的字符均转换成八进制表示

stripcslashes()函数

用来将应用了addcslashes()函数转义的字符串str返回原样。

语法如下:

string stripcslashes(string str)

例如:

$str= addcslashes("107网站工作室","107网站工作室");
运行结果如下
\1\0\7\347\275\221\347\253\231\345\267\245\344\275\234\345\256\244

注:可以通俗的理解为在指定的字符前加上反斜杠

$str = addcslashes("A001 A002 A003","A");
echo($str);
运行结果如下
\A001 \A002 \A003

注释:addcslashes() 函数对大小写敏感。

注释:对以下字符应用 addcslashes() 时请小心:0(NULL), r(回车), n(换行), f 换页)、t(制表符)以及 v(垂直制表符)。在 PHP 中,\0, \r, \n, \t, \f 以及 \v 是预定义的转义序列。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

56

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

51

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

397

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

118

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

11

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 9.8万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号