本文目錄一覽:
請問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;$istrlen($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;$istrlen($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;$istrlen($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;$istrlen($str);$i++)echo(“\t”.ord($str{$i}));
echo(“\n”);
輸出結果:
———————-
10
0 1 2 3 7 8 9 16 17 255
轉義字元有哪些呢?
常見的轉義字元:
\r表示回車符,將游標定位到當前行的開頭,不會跳到下一行。
\n表示換行符,換到下一行的開頭。
\t表示製表符,將游標移到下一個製表符的位置,就像在文檔中用Tab鍵一樣。
\b表示退格符號,就像鍵盤上的Backspace鍵。
Java以下的字元都有特殊意義,無法直接表示,所以用反斜杠加上另外一個字元來表示。
\』表示單引號字元,Java代碼中單引號表示字元的開始和結來,如果直接寫單引字元('),程序會認為前兩個是一對,會報錯,因此需要使用轉義符「\』」。
\”表示雙引號字元,Java代碼中雙引號表示字元串的開始和結來,包含在字元串中的雙引號需要轉義,比如(hesays,\」thankyou\」。)。
\\標識反斜杠字元,由於在Java代碼中的反斜杠(\)是轉義字元,因此需要表示字面意義上的\,就需要使用雙反斜杠(\\)。
控制字元:
轉義字元不屬於控制字元;控制字元也不屬於轉義字元。如果控制字元的定義是非圖形的字元,或者對輸出設備(印表機、文本終端)有特殊意義的字元,那麼針對這些設備的轉義字元也是控制字元。
但是程序設計用的轉義字元是圖形字元,因此它們不是控制字元。相反地,大多數ASCII控制字元單獨都具有控制功能,因此它們不是轉義字元。
php中正則表達式中必須轉義的字元有哪些
需要轉義的字元有:\ . * ^ [ ] { } ? 等
注意的是如果在[]字符集合里,很多字元都不需要轉義
建議你看一下這篇基礎教程:
轉義字元有哪些?
轉義字元是以『\』為開頭的字元,後面跟一個或幾個字元,其意思是將反斜杠『\』後面的字元轉變成為另外的意義。如:\n 不代表字母n而作為換行符。常用的轉義字元及其含義如下表所示:
\n 換行。
\t 橫向跳格(跳到下一製表位置)。
\v 豎向跳格。
\b 退格。
\r 回車。
\f 走紙換頁。
\\ 反斜杠字元』\』。
\』 單引號字元。
\a 鳴玲。
\ddd 1到3位八進位數所代表的字元。
\xhh 1到2位十六進位數所代表的字元。
不過要注意:
1、\v垂直製表和\f換頁符對屏幕沒有任何影響,但會影響印表機執行響應操作。
2、\n其實應該叫回車換行。換行只是換一行,不改變游標的橫坐標;回車只是回到行首,不改變游標的縱坐標。
3、\t 游標向前移動四格或八格,可以在編譯器里設置。
4、\’ 在字元里(即單引號里)使用。在字元串里(即雙引號里)不需要,只要用 ‘ 即可。
5、\? 其實不必要。只要用 ? 就可以了(在windows VC6 和tc2 中驗證)。
6、 轉義字元中只能使用小寫字母,每個轉義字元只能看作一個字元。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309320.html