Очистка HTML-контента с помощью функции wp_kses_data() в WordPress – Руководство

WP_KSES_DATA() │ WP 2.9.0

Функция wp_kses_data() используется для очистки содержимого с использованием разрешённых HTML-правил Kses. Она позволяет убедиться, что ваш контент безопасен для отображения на сайте.

Как это работает?

Эта функция ожидает, что данные будут переданы без символов экранирования. Она полезна, когда нужно удалить нежелательные HTML-теги из текста.

Пример использования

$data = '
Foo
'; echo wp_kses_data($data); // Результат: Fooalert("passed");

В этом примере скрипт <script> будет удалён, а текст внутри тегов <strong> и <i> останется.

Как использовать функцию

Для использования функции wp_kses_data() вам необходимо передать ей строку с содержимым, которое нужно отфильтровать, при этом оно не должно быть экранировано.

Синтаксис

wp_kses_data( $data );

Параметры:

  • $data (string) — содержимое, которое необходимо очистить (обязательный параметр).

Возвращаемое значение

Функция возвращает строку — очищенное содержимое.

Пример использования функции

Вот ещё один пример, который может помочь вам лучше понять, как использовать данную функцию:

$str = '

Ваш текст с жирным шрифтом и курсивом

'; echo wp_kses_data($str); // Результат:

Ваш текст с жирным шрифтом и курсивом

alert("Это не пройдет");

Как видно из этого примера, нежелательный скрипт будет удалён, а остальные HTML-теги сохранены.

Изменения

Функция была добавлена в версии 2.9.0 WordPress.

Внутреннее устройство функции

Функция wp_kses_data() реализована в файле wp-includes/kses.php следующим образом:

function wp_kses_data( $data ) {
    return wp_kses( $data, current_filter() );
}

Связанные функции

В WordPress есть несколько функций, связанных с очисткой и фильтрацией HTML-контента. Вот некоторые из них:

  • allowed_tags() — возвращает массив разрешённых HTML-тегов.
  • wp_filter_kses() — очищает содержимое от запрещённых тегов.
  • wp_kses() — очищает данные в соответствии с установленными правилами.
  • wp_strip_all_tags() — удаляет все HTML-теги из строки.

Эти функции помогут вам работать с содержимым более безопасно и эффективно. Если у вас возникнут вопросы или нужна помощь с другими функциями, не стесняйтесь спрашивать!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *