wp_kses_post()WP 2.9.0

Очищает переданную строку, оставляя в ней HTML теги разрешенные для публикации в записи для текущего пользователя.

Эта функция - упрощенная запись такого кода:

wp_kses( $data, 'post' );

Эту функцию удобно использовать для очистки данных массива передаваемого в $_POST:

$some_array = array_map( 'wp_kses_post', $_POST['some_array'] );

Эта функция ожидает строку (данные) без слэшей! Это означает, что перед ее использованием необходимо удалить все слэши, см. wp_unslash(), которые WP автоматически добавляет к любым глобальным данным, например $_POST, см. wp_magic_quotes().

Работает на основе: wp_kses()
1 раз — 0.000773 сек (медленно) | 50000 раз — 16.19 сек (медленно) | PHP 8.2.28, WP 6.8.2

Хуков нет.

Возвращает

Строку. Строку очищенную от недопустимых HTML тегов, таких как <script> и атрибутов тегов.

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

wp_kses_post( $data );
$data(строка) (обязательный)
Строка, которую нужно очистить. Обычно это контент записи.

Примеры

0

#1 Очистим строку

Демонстрация работы функции: очищает строку $str от нежелательных HTML тегов.

$str = wp_unslash( $_POST['text'] );
$str = wp_kses_post( $str );

// теперь $str можно безопасно записывать в БД или выводить на экран
var_dump( wp_kses_post( '' ) );                 // string(0) ""
var_dump( wp_kses_post( '\'foo<foo>' ) );       // string(4) "'foo"
var_dump( wp_kses_post( '\'foo <p>bar</p>' ) ); // string(15) "'foo <p>bar</p>"

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

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

Код wp_kses_post() WP 6.9.1

function wp_kses_post( $data ) {
	return wp_kses( $data, 'post' );
}