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提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php实现读取内存顺序号
Mar 29 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
PHP多进程简单实例小结
Nov 09 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
mysql limit查询优化分析
2008/11/12 PHP
php 404错误页面实现代码
2009/06/22 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
微信小程序的授权实现过程解析
2019/08/02 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
回调函数的意义以及python实现实例
2017/06/20 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
卫校毕业生个人自我鉴定
2014/04/28 职场文书
专家推荐信模板
2014/05/09 职场文书
升学宴演讲稿
2014/09/01 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
党员评议个人总结
2014/10/20 职场文书
死亡赔偿协议书
2015/01/28 职场文书
初中班主任教育随笔
2015/08/15 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript