wp_strip_all_tags()WP 2.9.0

Удаляет все HTML теги из строки. script и style удаляются вместе с содержимым.

Разница со strip_tags() - теги <script> и <style> удаляются вместе с содержимым. Например:

strip_tags( '<script>something</script>' );        // something
wp_strip_all_tags( '<script>something</script>' ); // пусто ''

Работает на основе PHP функции strip_tags().

Для удаления пробелов на концах. См. trim()

1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.07 сек (скорость света) | PHP 7.4.8, WP 5.6.1

Хуков нет.

Возвращает

Строку. Очищенную строку.

Использование

wp_strip_all_tags( $string, $remove_breaks );
$string(строка) (обязательный)
Строка содержащая HTML теги.
$remove_breaks(логический)
true - после удаления тегов, все переносы строк и табуляции будут заменены на пробел ' '.
По умолчанию: false

Примеры

0

#1 Очистим строку от HTML тегов

Правильно, по-wordpress'овски очищает строку чтобы она стала супер-безопасной для вывода на экран.

$str = '<script>код</script> 11<br> 22 <strong>333</strong> ';

$str = wp_strip_all_tags( $str, 0 );

// $str будет содержать
// '11 22 333'

Список изменений

С версии 2.9.0 Введена.

Код wp_strip_all_tags() WP 6.5.2

function wp_strip_all_tags( $text, $remove_breaks = false ) {
	if ( is_null( $text ) ) {
		return '';
	}

	if ( ! is_scalar( $text ) ) {
		/*
		 * To maintain consistency with pre-PHP 8 error levels,
		 * trigger_error() is used to trigger an E_USER_WARNING,
		 * rather than _doing_it_wrong(), which triggers an E_USER_NOTICE.
		 */
		trigger_error(
			sprintf(
				/* translators: 1: The function name, 2: The argument number, 3: The argument name, 4: The expected type, 5: The provided type. */
				__( '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( '/[\r\n\t ]+/', ' ', $text );
	}

	return trim( $text );
}