CloudCastle Cli API

Ansi
in package

FinalYes

Низкоуровневая сборка и разбор ANSI-последовательностей терminala.

Собирает произвольные комбинации SGR-кодов (цвет, фон, начертание), 256-цветовую палитру и truecolor (RGB), гиперссылки (OSC 8), а также умеет снимать оформление (self::strip()) и обезвреживать управляющие символы во внешних данных (self::escape()) — защита от ANSI-инъекций.

Table of Contents

Constants

RESET  : mixed = "\x1b[0m"
Последовательность сброса всех атрибутов.

Methods

apply()  : string
Обернуть текст SGR-кодами и завершить сбросом.
background256()  : string
SGR-подкод фона из 256-цветовой палитры.
backgroundRgb()  : string
SGR-подкод фона в truecolor (RGB).
color256()  : string
SGR-подкод цвета текста из 256-цветовой палитры.
escape()  : string
Обезвредить внешние данные: убрать управляющие символы C0/C1.
hyperlink()  : string
Кликабельная гиперссылка терминала (OSC 8).
rgb()  : string
SGR-подкод цвета текста в truecolor (RGB).
sequence()  : string
Собрать SGR-последовательность из кодов.
strip()  : string
Удалить из строки все ANSI-последовательности (оформление, курсор, OSC).

Constants

RESET

Последовательность сброса всех атрибутов.

public mixed RESET = "\x1b[0m"

Methods

apply()

Обернуть текст SGR-кодами и завершить сбросом.

public static apply(string $text, int|string ...$codes) : string

Без кодов текст возвращается неизменным — лишних последовательностей нет.

Parameters
$text : string

исходный текст

$codes : int|string

SGR-коды оформления

Return values
string

оформленный текст

background256()

SGR-подкод фона из 256-цветовой палитры.

public static background256(int $code) : string
Parameters
$code : int

индекс палитры (0–255)

Tags
throws
InvalidArgumentException

если индекс вне диапазона

Return values
string

подкод вида 48;5;200

backgroundRgb()

SGR-подкод фона в truecolor (RGB).

public static backgroundRgb(int $red, int $green, int $blue) : string
Parameters
$red : int

красный компонент (0–255)

$green : int

зелёный компонент (0–255)

$blue : int

синий компонент (0–255)

Tags
throws
InvalidArgumentException

если компонент вне диапазона

Return values
string

подкод вида 48;2;255;128;0

color256()

SGR-подкод цвета текста из 256-цветовой палитры.

public static color256(int $code) : string
Parameters
$code : int

индекс палитры (0–255)

Tags
throws
InvalidArgumentException

если индекс вне диапазона

Return values
string

подкод вида 38;5;200

escape()

Обезвредить внешние данные: убрать управляющие символы C0/C1.

public static escape(string $text) : string

Сохраняются табуляция, перевод строки и возврат каретки; символ ESC и прочие управляющие удаляются, что исключает подмену вывода терминала (ANSI-инъекции) через недоверенный ввод.

Parameters
$text : string

недоверенная строка

Return values
string

безопасная для вывода строка

Кликабельная гиперссылка терминала (OSC 8).

public static hyperlink(string $url, string $label) : string
Parameters
$url : string

адрес перехода

$label : string

видимый текст ссылки

Return values
string

последовательность гиперссылки

rgb()

SGR-подкод цвета текста в truecolor (RGB).

public static rgb(int $red, int $green, int $blue) : string
Parameters
$red : int

красный компонент (0–255)

$green : int

зелёный компонент (0–255)

$blue : int

синий компонент (0–255)

Tags
throws
InvalidArgumentException

если компонент вне диапазона

Return values
string

подкод вида 38;2;255;128;0

sequence()

Собрать SGR-последовательность из кодов.

public static sequence(int|string ...$codes) : string
Parameters
$codes : int|string

SGR-коды (например 1, 31, 38;5;200)

Return values
string

строка вида \033[1;31m

strip()

Удалить из строки все ANSI-последовательности (оформление, курсор, OSC).

public static strip(string $text) : string
Parameters
$text : string

строка с управляющими последовательностями

Return values
string

строка без ANSI

On this page

Search results