wp_filter_kses() WP 1.0.1
Очищает текст, оставляя в нем только разрешенные HTML теги. Ожидает экранированные данные. Тип очистки определяется функцией current_filter().
Перед очисткой удаляются все экранные слэши, а перед возвращение результата эти слэши добавляются обратно.
Если передан текст без экранированных слэшей, то в результате они будут добавлены (см. php функцию addslashes()).
Копия этой функции это wp_kses_data(), только она никак не обрабатывает слэши в переданном тексте и обрабатывает текст как есть.
wp_filter_kses()
обычно предпочтительнее, чем wp_kses_data()
, потому что wp_magic_quotes() чистит $_GET, $_POST, $_COOKIE, $_SERVER и $_REQUEST на раннем этапе в системе хуков, сразу после фильтра plugins_loaded
и до init
Все разрешенные теги по умолчанию находятся в глобальной переменной $allowedtags.
KSES - это фильтр безопасности написанный на PHP для очистки текста с HTML тегами. Он удаляет все «опасные» элементы и призван защитить от SQL инъекции и XSS.
Использует глобальную переменную: global $allowedtags.
Хуков нет.
Возвращает
Строку. Отфильтрованный текст.
Использование
$data = 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 5.6.2
function wp_filter_kses( $data ) {
return addslashes( wp_kses( stripslashes( $data ), current_filter() ) );
}