Text
in package
Юникод-корректные операции над текстом для терминала.
Ширина считается по видимым символам с игнорированием ANSI-последовательностей, поэтому перенос, обрезка и выравнивание работают предсказуемо и на цветном, и на многобайтном тексте.
Table of Contents
Methods
- pad() : string
- Выровнять текст в поле фиксированной ширины пробелами.
- truncate() : string
- Обрезать строку до предела символов, добавив многоточие при усечении.
- width() : int
- Видимая ширина строки: число символов без учёта ANSI-оформления.
- wrap() : string
- Перенести текст по словам так, чтобы каждая строка не шире заданного.
Methods
pad()
Выровнять текст в поле фиксированной ширины пробелами.
public
static pad(string $text, int $width[, Align $align = Align::Left ]) : string
Parameters
- $text : string
-
исходный текст
- $width : int
-
ширина поля
- $align : Align = Align::Left
-
сторона выравнивания
Return values
string —дополненная до ширины строка (или исходная, если она шире)
truncate()
Обрезать строку до предела символов, добавив многоточие при усечении.
public
static truncate(string $text, int $limit[, string $ellipsis = '…' ]) : string
Parameters
- $text : string
-
исходная строка
- $limit : int
-
предельная ширина (> 0)
- $ellipsis : string = '…'
-
маркер усечения
Tags
Return values
string —строка не шире предела
width()
Видимая ширина строки: число символов без учёта ANSI-оформления.
public
static width(string $text) : int
Parameters
- $text : string
-
измеряемая строка
Return values
int —ширина в символах
wrap()
Перенести текст по словам так, чтобы каждая строка не шире заданного.
public
static wrap(string $text, int $width) : string
Слова длиннее ширины разрываются по символам.
Parameters
- $text : string
-
исходный текст
- $width : int
-
максимальная ширина строки (> 0)
Tags
Return values
string —текст со вставленными переводами строк