意图是什么我在想这个转义序列。 的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