wp_filter_post_kses()
Очищает контент, оставляя в нем только разрешенные HTML теги и добавляет экранирующие слэши.
Тоже что wp_kses_post(), только ожидает экранированные данными.
Функция удаляет слэши (stripslashes()) из переданного текста, обрабатывает его, а затем добавляет слэши обратно. Поэтому если вы очищаете $_POST данные, то делать это надо до того как слэши в тексте будут удалены, перед добавлением данных в БД.
Допустимые теги различаются в зависимости от того какие у пользователя права.
Использует глобальную переменную: $allowedposttags
.
Работает на основе: wp_kses()
Хуков нет.
Возвращает
Строку
.
Использование
<?php wp_filter_post_kses( $data ) ?>
- $data(строка) (обязательный)
- Контент поста, который нужно отфильтровать.
Примеры
#1 Демонстрация работы функции
Так функция сработает если вы администратор:
$data = '<p data-url="foo">Автомат.</p> <span>правилам</span> <div>Проверка div</div> <script>Проверка script</script> <em>Пример. Исходные числа: 66, 43.</em> <ol> <li>Списки</li> </ol>'; $data = wp_filter_post_kses( $data ); echo htmlspecialchars( $data ); /* Выведет: <p>Автомат.</p> <span>правилам</span> <div>Проверка div</div> Проверка script <em>Пример. Исходные числа: 66, 43.</em> <ol> <li>Списки</li> </ol> */
Список изменений
С версии 2.0.0 | Введена. |
Код wp_filter_post_kses() wp filter post kses WP 6.4.3
function wp_filter_post_kses( $data ) { return addslashes( wp_kses( stripslashes( $data ), 'post' ) ); }