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中如何判断AJAX提交的数据
Feb 05 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
Jun 24 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
php define的第二个参数使用方法
Nov 04 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
php插件Xajax使用方法详解
Aug 31 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 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
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
jQuery动画特效实例教程
2014/08/29 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
开办加工厂创业计划书
2014/01/03 职场文书
中级会计职业生涯规划范文
2014/01/16 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
读书笔记怎么写
2015/07/01 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
总结Python使用过程中的bug
2021/06/18 Python