php-color-output

Make your PHP command-line application colorful.

MIT License

Downloads
2.6M
Stars
12
Committers
1

php-color-output

The above screenshot is the output of demo.php. See the Example section.

Installation

composer require jfcherng/php-color-output

Available Styles

Background Foreground Compound Special Alias
b_black f_black f_dark_gray blink b (bold)
b_blue f_blue f_light_blue bold blk (blink)
b_cyan f_brown f_light_cyan dim h (hidden)
b_green f_cyan f_light_green hidden rev (reverse)
b_light_gray f_green f_light_purple reset rst (reset)
b_magenta f_light_gray f_light_red reverse u (underline)
b_red f_normal f_white underline -
b_yellow f_purple f_yellow - -
- f_red - - -

Functions and Methods

<?php

/**
 * Make a string colorful.
 *
 * @param string          $str       the string
 * @param string|string[] $colors    the colors
 * @param bool            $reset     reset color at the end of the string?
 *
 * @return string the colored string
 */
\Jfcherng\Utility\CliColor::color(string $str, $colors = [], bool $reset = true): string

/**
 * Remove all colors from a string.
 *
 * @param string $str the string
 *
 * @return string the string without colors
 */
\Jfcherng\Utility\CliColor::noColor(string $str): string

Example

<?php

include __DIR__ . '/vendor/autoload.php';

use \Jfcherng\Utility\CliColor;

// colors in a string using a comma as the delimiter
echo CliColor::color('foo', 'f_light_cyan, b_yellow');  // "\033[1;36;43mfoo\033[0m"

echo PHP_EOL;

// colors in an array
echo CliColor::color('foo', ['f_white', 'b_magenta']); // "\033[1;37;45mfoo\033[0m"

echo PHP_EOL;

// do not auto reset color at the end of string
echo CliColor::color('foo', ['f_red', 'b_green', 'b', 'blk'], false); // "\033[31;42;1;5mfoo"

// manually add color reset
echo CliColor::color('', 'reset'); // "\033[0m"

echo PHP_EOL;

// remove all color codes from a string
echo CliColor::noColor("\033[31;42;5mfoo\033[0mbar"); // "foobar"

echo PHP_EOL;
Package Rankings
Top 4.85% on Packagist.org
Badges
Extracted from project README
GitHub Workflow Status (branch) Packagist Packagist Version Project license GitHub stars Donate to this project using Paypal
Related Projects