php 字符转义 注意事项


Posted in PHP onMay 27, 2009

在php中:

* 以单引号为定界符的php字符串,支持两个转义\'和\\
* 以双引号为定界符的php字符串,支持下列转义:
\n 换行(LF 或 ASCII 字符 0x0A(10))
\r 回车(CR 或 ASCII 字符 0x0D(13))
\t 水平制表符(HT 或 ASCII 字符 0x09(9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符

举几个例子:

一个包含\0特殊字符的例子:

$str = "ffff\0ffff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");

输出结果:
----------------------

9
102 102 102 102 0 102 102 102 102

替换特殊字符的例子

$str = "ffff\0ffff";
$str = str_replace("\x0", "", $str);
//或者用$str = str_replace("\0", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
8
102 102 102 102 102 102 102 102

八进制ascii码例子:

//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。
$str = "\0\01\02\3\7\10\011\08\8"; //这里的\8不符合要求,被修正为"\\8" (ascii为92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
11
0 1 2 3 7 8 9 0 56 92 56

十六进制ascii码例子:

$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
10
0 1 2 3 7 8 9 16 17 255

PHP 相关文章推荐
提升PHP执行速度全攻略(上)
Oct 09 PHP
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
php中对2个数组相加的函数
Jun 24 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
destoon复制新模块的方法
Jun 21 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php连接oracle数据库的核心步骤
May 26 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 #PHP
PHP的单引号和双引号 字符串效率
May 27 #PHP
php session 错误
May 21 #PHP
php print EOF实现方法
May 21 #PHP
php 方便水印和缩略图的图形类
May 21 #PHP
简单的php 验证图片生成函数
May 21 #PHP
PHP 数组入门教程小结
May 20 #PHP
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP 错误之引号中使用变量
2009/05/04 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP云打印类完整示例
2016/10/15 PHP
php正则修正符用法实例详解
2016/12/29 PHP
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
Python实现全局变量的两个解决方法
2014/07/03 Python
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
python3编写C/S网络程序实例教程
2014/08/25 Python
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
如何在django中实现分页功能
2020/04/22 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
招聘单位介绍信
2014/01/14 职场文书
出国签证在职证明范本
2014/11/24 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书