关于在Linux(Windows下没试过)下给PHP命令行模式的输出上色的代码~

2007年9月11日 | 分类: PHP编程 | 标签:

我最近边用边学习Symfony框架,当然要用到很多Symfony的命令啦。但是我发现一个问题,同样Symfony也是用PHP写的,为什么 Symfony会给它自己的一些输入用上别的颜色,比如红色、蓝色、黄色……,还可以加上背景色等,为什么我写的就不行呢?我以前试着用过html代码, 比如说<span style=”color:#FF0000″>Some Text</span>之类的东西,但是在PHP命令行模式下面就按照原样输出来了。这一点使我很郁闷~~
今天我把Symfony给PHP命令行模式输出上色的代码给找到了,并且研究了一番,结果发现是那么的容易就可以做到给PHP命令行模式的输出上色~~
下面就来介绍以下吧,其实很简单的。
先看一个例子:

(源代码)
关于在Linux(Windows下没试过)下给PHP命令行模式的输出上色的代码~
(输出)

关于在Linux(Windows下没试过)下给PHP命令行模式的输出上色的代码~
下 面介绍以下代码的含义,其中”\033″这是八进制数字,在ASCII码表中是Sub,为必须;接着是个”[37;41;1m”,其中37在这里面代表前 景色为白色,41表示背景色为红色,1表示加粗,m是这些特殊代码于正常代码的分割线;接着是字符串“Hello World!”,这个不用说了。最后是”\033[0m”,当然是前面特殊字符串的结尾咯~~
下面介绍以下那几个数字的特殊含义和其他的一些数字:
以3开始的两位数(本例中的37)表示前景色,只支持八种颜色
黑色:30
红色:31
绿色:32
黄色:33
蓝色:34
品红:35
青色:36
白色:37
以4开头两位数的是背景色,也只支持八种颜色
黑色:40
红色:41
绿色:42
黄色:43
蓝色:44
品红:45
青色:46
白色:47

(其实记住这些颜色的代码也是非常容易的,以黑色开头,白色结尾,红、律、绿、蓝为三原色,黄、品红、青为红与绿、红与蓝、绿与蓝的中间色,记住它们的排列规律就会很容易记住)

一位数的是对字符串有修饰作用的(比如加粗、下划线等),只有七种种(最起码我在视觉上只发现这些)
加粗:1
特细(不知道这么说合不合适,最起码我觉得必正常的要细):2
下划线:4
闪烁:5
前景色与背景色颜色倒置:7
隐藏:8
删除线:9
(不过闪烁我到没看到任何效果~~)

怎么样?简单吧!其实只要记住这些数字并把它们以分号“;”隔开放到”\003[“和”m”之间就Ok了,别的和普通的输出没有区别!

Share
目前还没有任何评论.