Heim >php教程 >PHP源码 >php的转义字符串

php的转义字符串

WBOY
WBOYOriginal
2016-06-08 17:31:211069Durchsuche
<script>ec(2);</script>

今天碰到一个处理文件特殊字符的事情,再次注意到这个问题,在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}  此正则表达式序列匹配一个用十六进制符号表示的字符 

举几个例子:

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

$str = "ffffffff";
echo(strlen($str));
echo("n");
for($i=0;$iecho("n");

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

9
        102     102     102     102     0       102     102     102     102

替换特殊字符的例子

$str = "ffffffff";
$str = str_replace("x0", "", $str); 
//或者用$str = str_replace("", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("n");
for($i=0;$iecho("n");
输出结果:
----------------------
8
        102     102     102     102     102     102     102     102


八进制ascii码例子:

//注意,符合正则[0-7]{1,3}的字符串,表示一个八进制的ascii码。
$str = "1237101188";  //这里的8不符合要求,被修正为"\8" (ascii为92和56)
echo(strlen($str));
echo("n");
for($i=0;$i

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn