Функция wp_html_excerpt()
безопасно обрезает текст с HTML-содержимым до указанного количества символов. Она поддерживает UTF-8 и корректно обрабатывает HTML-теги и сущности, не нарушая их целостности. При этом сущности, такие как &
или <
, считаются несколькими символами.
wp_html_excerpt( string $str, int $count, string $more = null ): string
Параметры
- $str
- (string, обязательный) Строка, из которой нужно извлечь фрагмент текста.
- $count
- (int, обязательный) Максимальное количество символов, которые нужно извлечь из строки.
- $more
- (string, необязательный) Строка, которую нужно добавить в конце, если текст был обрезан. По умолчанию — пустая строка. Можно добавить, например,
...
или символ…
.
- (string, необязательный) Строка, которую нужно добавить в конце, если текст был обрезан. По умолчанию — пустая строка. Можно добавить, например,
Возвращаемое значение
Возвращает обрезанную строку, которая состоит не более чем из указанного количества символов и сохраняет правильную структуру HTML.
Пример 1: Обрезка HTML-строки до 40 символов
Допустим, у нас есть текст, содержащий HTML-теги и специальный символ на греческом. Мы обрежем его до 40 символов, добавив многоточие в конце.
$text = '<div>Информация на греческом, Επίπεδο 3</div> и <b>дополнительный текст</b> для примера.';
echo wp_html_excerpt( $text, 40, '...');
Результат выполнения кода:
Информация на греческом, Επίπεδο 3 и допол...
Пример 2: Обрезка текста до 50 символов с использованием HTML-сущностей
Этот пример показывает, как wp_html_excerpt()
корректно обрабатывает HTML-сущности, считая их несколькими символами.
$content = 'Образец текста с символами & и <strong>разным форматированием</strong> для теста.';
echo wp_html_excerpt( $content, 50 );
Результат выполнения кода:
Образец текста с символами & и разным форматировани
Пример 3: Использование функции для обрезки текста в коротких описаниях
Часто требуется создать короткое описание для контента, ограниченное по количеству символов. Здесь мы добавляем …
в конце обрезанного текста.
$description = '<p>Краткое <em>описание</em> для примера с целью демонстрации...</p>';
echo wp_html_excerpt( $description, 30, '…' );
Результат выполнения кода:
Краткое описание для примера…
Пример 4: Обрезка многоязычного контента
Эта функция также хорошо подходит для работы с многоязычным текстом, обрезая его корректно по символам UTF-8.
$multi_lang_text = '<p>Пост на двух языках: 中文文本 и описание.</p>';
echo wp_html_excerpt( $multi_lang_text, 25, '...' );
Результат выполнения кода:
Пост на двух языках: 中文文本...
Заключение
Функция wp_html_excerpt()
— идеальный выбор для безопасного извлечения текста из HTML-контента. Она подходит для создания кратких описаний, превью, а также других случаев, когда нужно аккуратно обрезать HTML-код, сохранив его структуру и учитывая особенности кодировки UTF-8.