wp_kses_post()
Очищает переданную строку, оставляя в ней 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(строка) (обязательный)
- Строка, которую нужно очистить. Обычно это контент записи.
Примеры
#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 kses post WP 6.7.1
function wp_kses_post( $data ) { return wp_kses( $data, 'post' ); }