wp_html_excerpt()
Безопасно извлекает указанное кол-во символов из указанной HTML-строки.
Что делает функция:
- Вырезает все HTML теги.
- Обрезает строку до указанного кол-ва символов (безопасно для UTF-8 символов).
Сущности внутри НЕ будут считаться как один символ. Например, &
будет считаться как 5, <
как 4 и т.д.
Используйте wp_trim_words(), когда нужно обрезать строку до указанного кол-ва слов.
Работает на основе: wp_strip_all_tags()
1 раз — 0.0000191 сек (очень быстро) | 50000 раз — 0.10 сек (скорость света) | PHP 7.4.25, WP 6.0.1
Хуков нет.
Возвращает
Строку
. Обрезанную строку.
Использование
wp_html_excerpt( $str, $count, $more );
- $str(строка) (обязательный)
- Строка, которую нужно обрезать.
- $count(int) (обязательный)
- До скольки символов обрезать указанную строку.
- $more(строка)
Строка, которую нужно добавить в конце, если указанный текст обрезается (больше указанного кол-ва символов).
Тут обычно добавляют троеточие:
...
или его смвол…
.По умолчанию: empty string
Примеры
#1 Обрежем HTML строку с текстом
Например, нам нужно образеть получаемую из БД строку до 40 символов. Строка содержит HTML код.
$text = '<div>Some text, Επίπεδο 3</div> Neque porro <b>quisquam</b> est qui …'; echo wp_html_excerpt( $text, 40, '…' ); // Получим: // Some text, Επίπεδο 3 Neque porro quisqua…
Список изменений
С версии 2.5.0 | Введена. |
Код wp_html_excerpt() wp html excerpt WP 6.7.1
function wp_html_excerpt( $str, $count, $more = null ) { if ( null === $more ) { $more = ''; } $str = wp_strip_all_tags( $str, true ); $excerpt = mb_substr( $str, 0, $count ); // Remove part of an entity at the end. $excerpt = preg_replace( '/&[^;\s]{0,6}$/', '', $excerpt ); if ( $str !== $excerpt ) { $excerpt = trim( $excerpt ) . $more; } return $excerpt; }