今天碰到乙個處理檔案特殊字元的事情,再次注意到這個問題,在php中:
* 以單引號為定界符的php字串,支援兩個轉義\'和\\舉幾個例子:* 以雙引號為定界符的php字串,支援下列轉義:
\n 換行(lf 或 ascii 字元 0x0a(10))
\r 回車(cr 或 ascii 字元 0x0d(13))
\t 水平製表符(ht 或 ascii 字元 0x09(9))
\\ 反斜線
\$ 美元符號
\" 雙引號
\[0-7] 此正規表示式序列匹配乙個用八進位制符號表示的字元
\x[0-9a-fa-f] 此正規表示式序列匹配乙個用十六進製制符號表示的字元
乙個包含\0特殊字元的例子:
$str ="ffff\0ffff";替換特殊字元的例子echo(strlen($str));
echo("\n");
for($i=0;$i輸出結果:
----------------------
9102 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\t".ord($str));
echo("\n");
輸出結果:
----------------------
8102 102 102 102 102 102 102 102
八進位制ascii碼例子:
//注意,符合正則\[0-7]的字串,表示乙個八進位制的ascii碼。十六進製制ascii碼例子:$str ="\0\01\02\3\7\10\011\08\
8";//這裡的\8不符合要求,被修正為"\\8" (ascii為92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i0
56 92
56
$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";echo(strlen($str));
echo("\n");
for($i=0;$iecho("\n");
輸出結果:
----------------------
100 1 2 3 7 8 9 16 17 255
注意php的轉義字串
今天碰到乙個處理檔案特殊字元的事情,再次注意到這個問題,在php中 以單引號為定界符的php字串,支援兩個轉義 和 以雙引號為定界符的php字串,支援下列轉義 n 換行 lf 或 ascii 字元 0x0a 10 r 回車 cr 或 ascii 字元 0x0d 13 t 水平製表符 ht 或 asc...
PHP字串轉義
1.magic quotes runtime 2.magic quotes gpc 3.addslashes 和stripslashes 4.mysql escape string 5.addcslashes 和stripcslashes 6.htmlentities 和html entity de...
php 字串轉義
單引號 想表達單引號自身,需要用反斜線 轉義 想表達反斜線 自身,需要用雙反斜線 其他任何轉義序列 r n等,都會當作字串處理 輸出 a bcd echo a bcd 輸出 a bcd echo a bcd 輸出 a bcd echo a bcd 輸出 a nbcd echo a nbcd 雙引號 ...