nafisc/ansi-util

An ANSI library for PHP

v1.2 2019-05-18 22:58 UTC

This package is auto-updated.

Last update: 2024-04-19 09:45:30 UTC


README

Allows you to create ANSI strings with ease in PHP.

StyleCI Total Downloads Latest Stable Version Latest Unstable Version License

Java Java Version: See here

Usage

Note: It is not guaranteed that all of these ANSI codes will work on all terminals. See here for a list of compatible terminals.

$stringBuilder = new \Ansi\StringBuilder;

echo $stringBuilder
         ->raw('Hello, ')
         ->underline('John Doe')
         ->resetUnderline()
         ->raw('. ')
         ->raw('This is ')
         ->color16(\Ansi\Color16::FG_RED, 'red')
         ->raw('.')
         .PHP_EOL;

Result

\Ansi\StringBuilder

Note: Each of these functions takes an optional string parameter which will be added immediately after the ANSI code is applied. They also all follow the Fluent Design Pattern. The string builder itself implements the __toString magic method, and as such can be treated as a string.

Method Result
bold() Sets the bold flag.
dim() Sets the dim flag.
underline() Sets the underline flag.
blink() Sets the blink flag.
invertColor() Set the invert colors flag.
hide() Sets the hidden flag.
reset() Resets all colors and flags to default.
resetBold() Resets the bold flag.
resetDim() Resets the dim flag.
resetUnderline() Sets the underline flag.
resetBlink() Resets the blink flag.
resetInvertColors() Resets the invert colors flag.
resetHidden() Resets the hidden flag.
color16(int) Sets the current 16-bit foreground or background color. (See \Ansi\Color16)
color256(int) Sets the current 256-bit color. (See here for a list of color codes.)
backgroundColor256(int) Sets the current 256-bit background color. (See here for a list of color codes.)

Utility Methods

Method Result
raw(string) Adds a raw string.
ansi(value) Escapes and appends a custom ANSI value.
stripAnsi() Removes all ANSI sequences from the StringBuilder.
empty() Empties out the StringBuilder.

\Ansi\Color16

The Color16 class is a utility class for 16-bit color codes.

Note: Each of these constants needs to be prefixed with either FG_ when using it as a foreground color or BG_ when using it as a background color.

RESET
BLACK
RED
GREEN
YELLOW
BLUE
MAGENTA
CYAN
LIGHT_GRAY
DARK_GRAY
LIGHT_RED
LIGHT_GREEN
LIGHT_YELLOW
LIGHT_BLUE
LIGHT_MAGENTA
LIGHT_CYAN
WHITE