WP_STRIP_ALL_TAGS() │ WP 2.9.0
Функция WP_STRIP_ALL_TAGS() удаляет все HTML-теги из переданного контента. Это включает в себя также теги <script> и <style> вместе с их содержимым.
Что это значит
Эта функция отличается от strip_tags(), так как она не просто удаляет теги, но и всё содержимое внутри тегов <script> и <style>. Вот пример, который поможет понять разницу:
strip_tags( '' ); // возвращает 'что-то'
wp_strip_all_tags( '' ); // возвращает пустую строку ''
Функция работает на основе strip_tags(). Если вам нужно обрезать пробелы в начале и конце строки, вы можете использовать trim().
Использование
Функция может использоваться в следующих функциях:
wp_html_excerpt()sanitize_text_field()wp_trim_words()
Производительность
- 1 выполнение — 0.000001 сек (скорость света)
- 50000 раз — 0.07 сек (скорость света)
- PHP 7.4.8, WP 5.6.1
Входные параметры
$text(string) (обязательный) — строка, содержащая HTML-теги$remove_breaks(true|false) — нужно ли удалять оставшиеся переносы строк и пробелы- По умолчанию: false
Пример использования
Вот простой пример, чтобы понять, как использовать wp_strip_all_tags().
$str = ' 11
22 333';
$str = wp_strip_all_tags( $str, false );
// Теперь $str содержит:
// ' 11 22 333'
Код функции
Вот как выглядит исходный код функции в WordPress:
function wp_strip_all_tags( $text, $remove_breaks = false ) {
if ( is_null( $text ) ) {
return '';
}
if ( ! is_scalar( $text ) ) {
wp_trigger_error(
'',
sprintf(
__('Warning: %1$s expects parameter %2$s (%3$s) to be a %4$s, %5$s given.'),
__FUNCTION__,
'#1',
'$text',
'string',
gettype( $text )
),
E_USER_WARNING
);
return '';
}
$text = preg_replace( '@<(script|style)[^>]*?>.*?1>@si', '', $text );
$text = strip_tags( $text );
if ( $remove_breaks ) {
$text = preg_replace( '/[rnt ]+/', ' ', $text );
}
return trim( $text );
}
Заключение
Функция wp_strip_all_tags() полезна, когда вам нужно получить "чистый" текст без HTML-тегов, что обеспечивает безопасность отображения данных в вашем приложении. Она помогает избавиться от потенциально вредного контента, который может быть внедрён пользователями.