本文目錄一覽:
請問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-hant/n/309320.html