Escrito por Luis Cruz | última actualización: 24 de julio del 2020
Si has escrito el código de una aplicación de consola usando PHP es posible que desees resaltar algunos mensajes de error o advertencia. Para esto puedes utilizar algunos códigos para cambiar los colores de letras y de fondo.
Aquí hay un ejemplo de cómo imprimir un texto blanco sobre fondo rojo:
<?php
print("\e[1;37;41mError: No hay conexion a la base de datos\e[0m");
?>

El código anterior puede parecer bastante confuso, pero voy a explicarlo de forma que lo entiendas perfectamente y puedas utilizarlo sin ningún problema.
\e
Es un carácter de escape, se usa para decir que vamos a enviar un código de color, el código completo es este: \e[m
pero también tenemos que enviar los códigos para el color de letra y color de fondo respectivamente.
1;37
Representa el color blanco y 41
representa el color rojo, ambos colores van separados por un ;
y la cadena la finalizamos con \e[0m
para re inicializar los colores estándar.
Aquí hay una lista de los colores de letra:
Color | Codigo |
Negro | 0;30 |
Gris | 1;30 |
Rojo | 0;31 |
Rojo claro | 1;31 |
Verde | 0;32 |
Verde claro | 1;32 |
Cafe | 0;33 |
Amarillo | 1;33 |
Azul | 0;34 |
Celeste | 1;34 |
Magenta | 0;35 |
Magenta Claro | 1;35 |
Cyan | 0;36 |
Cyan Claro | 1;36 |
Gris claro | 0;37 |
Blanco | 1;37 |
Esta es la lista de los colores de fondo
Color | Codigo |
Negro | 40 |
Rojo | 41 |
Verde | 42 |
Amarillo | 43 |
Azul | 44 |
Magenta | 45 |
Cyan | 46 |
Gris claro | 47 |
Crea tu propia función para cambiar los colores
Ahora que está todo más claro puedes crear tu propia función y hacer todo más fácil, por ejemplo, imagina que necesitas resaltar solo dos tipos de mensajes: Errores y Advertencias, entonces, puedes crear una función como esta:
<?php
/*
Mostrar un mensaje de error
*/
function MostrarError($error)
{
print("\e[1;37;41m$error\e[0m");
}
/*
Mostrar un mensaje de advertencia
*/
function MostrarAdvertencia($mensaje)
{
print("\e[1;33m$mensaje\e[0m");
}
MostrarError("No posee acceso para esta opción\n");
MostrarAdvertencia("Hay poco espacio en el disco");
?>
