`
wgllz
  • 浏览: 109813 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

php的转义字符串

    博客分类:
  • PHP
阅读更多

今天碰到一个处理文件特殊字符的事情,再次注意到这个问题,在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防MYSQL注入及转义存在潜在威胁的字符串插件.rar

    PHP防MYSQL注入及转义存在潜在威胁的字符串插件介绍: 1.插件作用: 本插件对用户提交的信息进行过滤可以防止数据库注入,及转义用户可能提交的会被执行的脚本代码使之转为字符串,从而保证了网页的正常显示和...

    php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。 例如: &lt;?php $name=string; echo 字符串 . '...

    PHP字符转义相关函数小结(php下的转义字符串)

    文章中有不正确的或者说辞不清的地方,麻烦大家指出了~~~与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql_escape_string() 5....

    转义表单提交字符处理函数

    转义表单提交字符处理函数,可用于php或javascript的字符处理函数列表

    php查找字符串中第一个非0的位置截取

    您可能感兴趣的文章:PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)php查找字符串出现次数的方法PHP 查找字符串常用函数...

    php实现处理输入转义字符的代码

    先来个函数,是最近WordPress 3.6中刚刚引入的 /** * Add slashes to a string or array of strings. * * This should be used when preparing data for core API that expects slashed data. ...

    PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例

    主要介绍了PHP中addslashes()和stripslashes()实现字符串转义和还原用法,结合实例形式较为详细的分析了addslashes()和stripslashes()函数的功能,定义及具体使用技巧,并附带说明了addslashes()与addcslashes()函数的...

    几个有用的php字符串过滤,转换函数代码

    //除去字符串右边空格 trim();//除去字符串中所有空格 ltrim();//除去字符串左边空格 htmlspecialchars();//转换’$’,'”‘,'&lt;‘,’&gt;’为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 ...

    一步一步学习PHP(7) php 字符串相关应用

    如果需要转义变量,才使用双引号的字符串。如果需要多行显示,才使用heredoc。 heredoc形式: 复制代码 代码如下: &lt;?php $test=&lt;&lt;&lt; FOOBAR Hello World! Hello PHP! FOOBAR; echo $test; ?&gt; Heredoc...

    PHP5 字符串处理函数大全

    addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示 chop — rtrim() 的别名函数 chr — 返回一个字符的...

    PHP常用字符串函数用法实例总结

    本文实例总结了PHP常用字符串函数用法。分享给大家供大家参考,具体如下: 字符串函数 explore 使用一个字符串分割另一个字符串 结果为数组 &lt;?php $str = 'a,b,c,d'; $res = explode(',',$str); var_dump($res);...

    php双引号、单引号的区别.zip

    php中字符串类型标记 双引号、单引号的区别.zip

    PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】

    主要介绍了PHP常见字符串处理函数用法,结合实例形式分析了php针对字符串的大小写转换、转义、截取、比较、查找、反转、切割等操作,需要的朋友可以参考下

    解析php获取字符串的编码格式的方法(函数)

    如果不清楚字符串的编码格式的话,就可以将这段字符这样检查:$encode = mb_detect_encoding($string, array... 您可能感兴趣的文章:php strstr查找字符串中是否包含某些字符的查找函数PHP字符转义相关函数小结(php下

    php下防止单引号,双引号在接受页面转义的设置方法

    PHP页面中如果不希望出现以下...PHP中单引号与双引号的区别分析php 输出双引号"与单引号”的方法PHP 单引号与双引号的区别PHP的单引号和双引号 字符串效率php 防止单引号,双引号在接受页面转义分析PHP中单双引号的误区

    PHP正则表达式基本函数 修饰符 元字符和需转义字符说明

    我在写小偷中用了大量的正则,所以在接下来的版本中要逐步减少正则的应用 在PHP正则表达式中需要转义的字符如下: $^*()+={}[]|/:&lt;&gt;.?'” 注意:perl风格中表达式要求以/开始和结尾,如:/food/ 表匹配字符 food ...

Global site tag (gtag.js) - Google Analytics