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.000492 сек (быстро) | 50000 раз — 10.07 сек (медленно) | PHP 7.1.5, WP 4.8

Хуков нет.

Возвращает

Строку. Строку очищенную от недопустимых 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.5.2

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