wp_kses() или как оставить в тексте только разрешенные теги HTML и их атрибуты

Эта функция позволяет отфильтровать контент и оставить там только те HTML теги и их атрибуты, которые вы хотите.

wp_kses ( $content, $html_tags, $protocols ) ;
$content
(строка)(обязательно) сюда помещается контент, который хотите отфильтровать.
$html_tags
(массив)(обязательно) массив с перечислением разрешенных тегов HTML и их атрибутов.

array(
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
    'em' => array(),
    'strong' => array(),
    'p' => array(),
    'h2' => array(),
    'img' => array(
        'alt' => array(),
        'src' => array()
    )
)
$protocols
(массив)(необязательно) здесь перечисляются разрешаемые протоколы.
Например по умолчанию разрешены следующие протоколы: http, https, ftp, mailto, news, irc, gopher, nntp, feed и telnet.

Возвращает отфильтрованный текст.

В качестве примера скину код, в котором отфильтровывается контент, выводимый при помощи функции get_the_content (). В данном примере не было возможности использовать функцию the_content (), поэтому использовали get_the_content () совместно с фильтром, который вшит в функцию the_content ().

$html_tags = array(
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
    'em' => array(),
    'strong' => array(),
    'p' => array(),
    'h2' => array(),
    'img' => array(
        'alt' => array(),
        'src' => array()
    )
);
 
echo wp_kses(apply_filters( 'the_content', get_the_content() ), $html_tags);

Источник: misha.blog

Добавить комментарий

%d такие блоггеры, как: