wp_filter_kses()
Очищает текст, оставляя в нем только разрешенные HTML теги. Ожидает экранированные данные.
Тип очистки определяется функцией current_filter().
Перед очисткой удаляются все экранные слэши, а перед возвращением результата эти слэши добавляются обратно. Поэтому если передан текст без экранированных слэшей, то в результате они будут добавлены (см. php функцию addslashes()).
wp_kses_data() - это копия этой функции, только она никак не обрабатывает слэши в переданном тексте и обрабатывает текст как есть.
Эта функция обычно предпочтительнее, чем wp_kses_data(), потому что wp_magic_quotes() чистит $_GET, $_POST, $_COOKIE, $_SERVER и $_REQUEST на раннем этапе в системе хуков, сразу после фильтра plugins_loaded и до init.
Все разрешенные теги по умолчанию находятся в глобальной переменной global $allowedtags
.
KSES - это фильтр безопасности написанный на PHP для очистки текста с HTML тегами. Он удаляет все «опасные» элементы и призван защитить от SQL инъекции и XSS.
Хуков нет.
Возвращает
Строку
. Отфильтрованный текст.
Использование
wp_filter_kses( $data );
- $data(строка) (обязательный)
- Текст, из которого нужно удалить нежелательные HTML теги. Ожидается что текст экранирован (\).
Примеры
#1 Демонстрация работы функции:
$text = "<a href='some'>текст</a> <div>текст</div>"; echo wp_filter_kses( $text ); //вернет: <a href=\'some\'>текст</a> текст
Список изменений
С версии 1.0.0 | Введена. |
Код wp_filter_kses() wp filter kses WP 6.7.1
function wp_filter_kses( $data ) { return addslashes( wp_kses( stripslashes( $data ), current_filter() ) ); }