php实现命令行里输出带颜色文字
今天执行composer的时候看到命令窗口出现的提示里面有的关键性部分带有颜色,于是很好奇研究了一下,在这里记录下来
其实在命令行输出带颜色字体主要是使用的 ANSI 转义字符实现的,我们先看个例子:
<?
echo "\033[38;5;1m红色文字\033[0m";
显示:

在终端中,ANSI定义了用于屏幕显示的Escape屏幕控制码,其格式为:
\033[38;5;1m红色文字\033[0m
代表开始设置标签
代表设置完成标签
代表设置参数
代表要显示的字符
这里开始标签和结束标签都是固定的,开始标签是 “\033[” 结束标签是 “m” 其中参数部分的含义可以按照下表中的参数来设置
| 代码 | 作用 | 备注 |
|---|---|---|
| 0 | 重置/正常 | 关闭所有属性。 |
| 1 | 粗体或增加强度 | |
| 2 | 弱化(降低强度) | 未广泛支持。 |
| 3 | 斜体 | 未广泛支持。有时视为反相显示。 |
| 4 | 下划线 | |
| 5 | 缓慢闪烁 | 低于每分钟150次。 |
| 6 | 快速闪烁 | MS-DOS ANSI.SYS;每分钟150以上;未广泛支持。 |
| 7 | 反显 | 前景色与背景色交换。 |
| 8 | 隐藏 | 未广泛支持。 |
| 9 | 划除 | 字符清晰,但标记为删除。未广泛支持。 |
| 10 | 主要(默认)字体 | |
| 11–19 | 替代字体 | 选择替代字体{\displaystyle n-10} |
| 20 | 尖角体 | 几乎无支持。 |
| 21 | 关闭粗体或双下划线 | 关闭粗体未广泛支持;双下划线几乎无支持。 |
| 22 | 正常颜色或强度 | 不强不弱。 |
| 23 | 非斜体、非尖角体 | |
| 24 | 关闭下划线 | 去掉单双下划线。 |
| 25 | 关闭闪烁 | |
| 27 | 关闭反显 | |
| 28 | 关闭隐藏 | |
| 29 | 关闭划除 | |
| 30–37 | 设置前景色 | 参见下面的颜色表。 |
| 38 | 设置前景色 | 下一个参数是5;n或2;r;g;b,见下。 |
| 39 | 默认前景色 | 由具体实现定义(按照标准)。 |
| 40–47 | 设置背景色 | 参见下面的颜色表。 |
| 48 | 设置背景色 | 下一个参数是5;n或2;r;g;b,见下。 |
| 49 | 默认背景色 | 由具体实现定义(按照标准)。 |
| 51 | Framed | |
| 52 | Encircled | |
| 53 | 上划线 | |
| 54 | Not framed or encircled | |
| 55 | 关闭上划线 | |
| 60 | 表意文字下划线或右边线 | 几乎无支持。 |
| 61 | 表意文字双下划线或双右边线 | |
| 62 | 表意文字上划线或左边线 | |
| 63 | 表意文字双上划线或双左边线 | |
| 64 | 表意文字着重标志 | |
| 65 | 表意文字属性关闭 | 重置60–64的所有效果。 |
| 90–97 | 设置明亮的前景色 | aixterm(非标准)。 |
| 100–107 | 设置明亮的背景色 | aixterm(非标准)。 |
根据表格我们可以看出 设置的参数 38表示设置前景色5表示颜色的设置模式表示的是256种颜色 1表示使用的那种颜色
除了设置颜色属性外我们还可以设置下划线等其他属性,而且并不是每种属性都需要设置多个参数,例如下划线属性我们直接添加个4就可以啦
<?php
echo "\033[38;5;1;4m红色文字\033[0m";

注意:由于各个系统终端的不同,所以有的设置是不起作用的或者效果会有所差异,最终效果以实际的显示效果为准!
php实现命令行里输出带颜色文字的更多相关文章
- Linux下Shell脚本输出带颜色文字
文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置作用如下: 背景色为蓝色 ...
- print控制台输出带颜色文字方法
在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了. ...
- python控制台输出带颜色文字的方法
目地:提高重要信息的可读性,方便用户阅读了. 书写格式如下: #格式: 设置颜色开始 :\033[显示方式;前景色;背景色m #说明: 前景色 背景色 颜色 --------------------- ...
- C# 输出带颜色文字,用于实时日志输出
private void button1_Click(object sender, EventArgs e) { LogMessage("绿色"); 4 LogError(&quo ...
- python 控制台输出带颜色的文字的方法
python_控制台输出带颜色的文字方法 在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信 ...
- 小技巧:with用法 pycharm控制台输出带颜色的文字 打印进度条的
with用法 with用法在python中是一个很独特的用法,因为别的语言的中没有这个用法.所以针对这个特点我们来做一次总结,什么样的情况下可以同with 我们学到的有文件的操作,和acquire ...
- php 扫描url死链接 \033[31m ANSI Linux终端输出带颜色
* 从Packagist上搜索需要的包 https://packagist.org/ * 通过composer下载依赖包 composer require guzzlehttp/guzzlecompo ...
- 【转】Python实现修改Windows CMD命令行输出颜色(完全解析)
用Python写命令行程序的时候,单一的输出颜色太单调.其实我们可以加些色彩,比如用红色表示警告,绿色表示结果正常等.网上也有几篇类似的帖子,但是没有把问题讲清楚,贴的代码也不是太清晰.这里,对Win ...
- python-pycharm控制台输出带颜色
python_控制台输出带颜色的文字方法 在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信 ...
随机推荐
- 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本
主要对上一篇hibernate与Spring进行整合改进 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 bean-base.xml <?xml versio ...
- starUML建模C++【逆向工程】
1.下载starUML 2.打开starUML,选择default approach 3.添加 Profile,把C++添加进去 4.在右侧的工程上点右键—[C++]—-[Reverse Engine ...
- linux上安装pycharm
百度搜索pycharm 然后打开pycharm的官网 然后在官网首页点击down,下载linux版pycharm 上传到linux服务器.解压 然后再打开bin目录 执行:sh ./pycharm.s ...
- Flutter Resolving dependencies...很慢解决办法
昨天打开AS,看到提示更新,就手贱的点了,结果更新到3.5版本后flutter的一些插件用不了了... 没办法,只能卸载,重新装回以前的版本,什么SDK.AVD的都重新装了 全都装好后,重新运行项目的 ...
- 海量无损高音质音乐文件分享180TB(持续更新)
海量无损高音质音乐文件分享180TBWAV,flac,ape格式(持续更新),由于本人是音乐发烧爱好者,收集海量的无损音乐,已经分类好了,比较方便查找,但是本地没法存储,所有放在网盘中,并且我这边还会 ...
- 《Hadoop》大数据技术开发实战学习笔记(二)
搭建Hadoop 2.x分布式集群 1.Hadoop集群角色分配 2.上传Hadoop并解压 在centos01中,将安装文件上传到/opt/softwares/目录,然后解压安装文件到/opt/mo ...
- redis 启动配置文件加载报错 service redis does not support chkconfig
# chkconfig: # description:Redis is a persistent key-value database 网上资料 上面的注释的意思是,redis服务必须在运行级2,3, ...
- linux 环境下jmeter+ant+jenkins
一.linux下的jenkins的安装: 下载链接:https://pan.baidu.com/s/1qZItZOC 密码:58da Jenkins 下载网址: http://jenkins-ci.o ...
- nginx 进程管理-信号
进程结构:一个master进程和多个子进程. 子进程分两类:一种是 Worker 进程,另一种是 Cache 相关的进程. master进程:管理 Worker 进程,发送信号. 接收信号: TERM ...
- [转帖]Linux - NetworkManager网络管理工具
Linux - NetworkManager网络管理工具 linux运维菜 发布时间:18-10-3020:32优质原创作者 简介 网络管理器(NetworManager)是检测网络.自动连接网络的程 ...