TextHandler

WS 0.971

TextHandler является статическим классом для сокращения обычного текста. Создавать экземпляр класса не нужно.

Поддерживает

  • ограничение текста по количеству символов
  • ограничение текста по количеству слов
  • удаление HTML-тегов из результата
  • удаление пробелов по краям результата

Быстрый старт

php
$preview = TextHandler::trimWord(
    'CMS WebSource помогает создавать сайты',
    3
);

Результат:

text
CMS WebSource помогает

Ограничение по символам

trimString($text, $count = 100)

Ограничивает исходную строку указанным количеством символов, удаляет HTML-теги и пробелы по краям:

php
$preview = TextHandler::trimString(
    'Документация WebSource',
    12
);

Результат:

text
Документация

Ограничение применяется до удаления HTML-тегов, поэтому символы разметки также входят в count.

Ограничение по словам

trimWord($text, $count = 10)

Удаляет HTML-теги и возвращает первые слова, разделённые обычными пробелами:

php
$preview = TextHandler::trimWord(
    'CMS WebSource помогает создавать сайты',
    3
);

Результат:

text
CMS WebSource помогает

trimWordBySymbol($text, $count = 100)

Сначала ограничивает строку по количеству символов через trimString(), затем обрабатывает полученный текст через trimWord():

php
$preview = TextHandler::trimWordBySymbol(
    'CMS WebSource помогает создавать сайты',
    13
);

Результат:

text
CMS WebSource

Метод не гарантирует сохранение последнего слова целиком: если граница count проходит внутри слова, оно будет обрезано.

Важные замечания

  • методы не добавляют многоточие к сокращённому тексту
  • trimWord() использует обычный пробел как разделитель слов
  • HTML-теги удаляются, но результат не экранируется для вывода в HTML
  • для безопасного вывода пользовательского текста применяйте подходящее контексту экранирование