意圖是什麼我在想這個轉義序列。 的PHP Manual說\e
代表「逃離」 好,我GOOGLE了一下,發現約ANSI轉義序列, 我不知道這是否\e
是指他們。 e
維基百科:
ANSI轉義序列是嵌入在用來控制格式,顏色,並在視頻文本端子其他輸出選項的文本字符。
但我不能看到這個轉義序列和PHP如何交互。 我不知道是否所有帖子都是正確的。
有人可以談論這個話題並展示例子嗎?
意圖是什麼我在想這個轉義序列。 的PHP Manual說\e
代表「逃離」 好,我GOOGLE了一下,發現約ANSI轉義序列, 我不知道這是否\e
是指他們。 e
維基百科:
ANSI轉義序列是嵌入在用來控制格式,顏色,並在視頻文本端子其他輸出選項的文本字符。
但我不能看到這個轉義序列和PHP如何交互。 我不知道是否所有帖子都是正確的。
有人可以談論這個話題並展示例子嗎?
您正在查看正則表達式的手冊(如preg_replace
)。所以PHP如何與它們交互的問題很簡單:如果你有一個文本,並且你想查找,替換,匹配一個字符串,那麼一個轉義字符可以像任何其他字符一樣「交互」。
但是在PHP字符串中不能執行ANSI esacpe secuences – nEAnnam
有很多逃生。
\b
:退格
\n
:新行
\r
:絕對收益
\e
:逃避
諸如此類......
他們都做不同的事情時,他們的輸出。
字符\e
的序列被用於通過PHP來表示ESC
character,0x1B
在ASCII(和UTF-8和其它兼容ASCII編碼)。有一種方法可以用可打印字符(即\
和e
)代表non-printing characters,因爲使用標準鍵盤編寫這些字符並不容易(更別說在屏幕上閱讀它們)。這些序列通常稱爲「轉義序列」。
要鏈接到只是在說「如果你正在寫一個正則表達式,並希望以匹配ESC
字符,你可以使用\e
這樣做,其他\...
序列同樣表示字符和集的手冊頁難以直接輸入的字符。
如你發現,ESC
有許多用途,其中ANSI轉義序列,其被用於修改一個命令行程序的輸出,通常添加的顏色,如\e[...m
其中...
是一種或多種Select Graphic Rendition codes(搜索對於該頁面上的「SRG」)。這不是特定於PHP的;它是理解這些轉義序列的終端,而不是執行程序。任何在兼容終端中輸出適當字節序列的程序(用任何語言編寫)都會觸發這種行爲。
你可以擊很容易地看到這種行爲,儘量在你的終端運行以下命令:
$ echo -e '\e[31mRED TEXT\e[m'
$ echo -e '\e[42mGREEN BACKGROUND\e[m'
$ echo -e '\e[5mBLINKING?\e[m'
絕大多數終端樣式的第一個命令的輸出爲紅色,並且在綠色背景的第二位。然而,許多終端故意做不支持閃爍文本,出於同樣的原因,HTML <blink>
標籤一般是不支持的 - 這很煩人:)
不用多說,術語「轉義序列」在許多不同的上下文中使用意味着稍微不同的東西。但一般來說,轉義序列是一些特殊的字符序列,它們具有超出字符本身的特定含義。
請不要在標題中加標籤。 – SLaks
對不起,已修復,謝謝 – nEAnnam
+1問這個問題。現在我終於知道如何在C中移動光標了。:) – 2011-06-28 19:43:07