WordPress как на ладони
wordpress jino

wp_kses_allowed_html() WP 3.5.0

Возвращает список допустимых HTML тегов и их атрибутов для использования этого списка в функциях типа: wp_kses().

Какой тип списка допустимых тегов будет возращен, определяется указанных в первом параметре контекстом. Например теги для записи.

Использует глобальные переменные: $allowedposttags, $allowedtags, $allowedentitynames;

Используется в: wp_kses().
✈ 1 раз = 0.000061с = очень быстро | 50000 раз = 1.72с = быстро
Хуки из функции:
Возвращает

Массив. Список тегов и их атрибутов в виде массива.

Использование

wp_kses_allowed_html( $context );
$context(строка)

Контекст для которого предполагается использовать полученный список допустимых тегов. Может быть:

  • post - оставит теги допустимые для постов (глобальная переменная $allowedposttags)
  • strip - вырежет все теги. Аналог функции PHP strip_tags()
  • entities - HTML сущности, как   (глобальная переменная $allowedentitynames)
  • user_description - базовый список тегов ($allowedtags) + тег <a rel="">.
  • data или default - список базовых допустимых тегов. Используется при очистки текста комментария (глобальная переменная $allowedtags)

По умолчанию: ''

Примеры

#1 Получим список допустимых тегов по умолчанию

Тут список получается для пользователя с ролью Администратор. В зависимсоти от роли и указанного контекста список может меняться.

$data = wp_kses_allowed_html( $context );

print_r( $data );

/* получим
Array
(
	[a] => Array
		(
			[href] => 1
			[title] => 1
		)

	[abbr] => Array
		(
			[title] => 1
		)

	[acronym] => Array
		(
			[title] => 1
		)

	[b] => Array()
	[blockquote] => Array
		(
			[cite] => 1
		)

	[cite] => Array()
	[code] => Array()
	[del] => Array
		(
			[datetime] => 1
		)

	[em] => Array()
	[i] => Array()
	[q] => Array
		(
			[cite] => 1
		)

	[s] => Array()
	[strike] => Array()
	[strong] => Array()
	[pre] => Array
		(
			[class] => 1
			[name] => 1
			[code] => 1
		)

	[var] => Array()
	[h3] => Array()
	[h4] => Array()
	[img] => Array
		(
			[class] => 1
			[alt] => 1
			[src] => 1
		)

	[li] => Array()
	[ol] => Array()
	[ul] => Array()

)
*/

#2 Если указать контекст

$data = wp_kses_allowed_html( 'strip' );
/*
Array
(
)
*/

$data = wp_kses_allowed_html( 'entities' );
/*
Array
(
	[0] => nbsp
	[1] => iexcl
	[2] => cent
	[3] => pound
	[4] => curren
	[5] => yen
	[6] => brvbar
	[7] => sect
	[8] => uml
	[9] => copy
	[10] => ordf
	[11] => laquo
	[12] => not
	[13] => shy
	[14] => reg
	[15] => macr
	[16] => deg
	[17] => plusmn
	[18] => acute
	[19] => micro
	[20] => para
	[21] => middot
	и т.д. ...
)
*/

Код wp kses allowed html: wp-includes/kses.php VER 4.9.1

<?php
function wp_kses_allowed_html( $context = '' ) {
	global $allowedposttags, $allowedtags, $allowedentitynames;

	if ( is_array( $context ) ) {
		/**
		 * Filters HTML elements allowed for a given context.
		 *
		 * @since 3.5.0
		 *
		 * @param array  $context      Context to judge allowed tags by.
		 * @param string $context_type Context type (explicit).
		 */
		return apply_filters( 'wp_kses_allowed_html', $context, 'explicit' );
	}

	switch ( $context ) {
		case 'post':
			/** This filter is documented in wp-includes/kses.php */
			return apply_filters( 'wp_kses_allowed_html', $allowedposttags, $context );

		case 'user_description':
		case 'pre_user_description':
			$tags = $allowedtags;
			$tags['a']['rel'] = true;
			/** This filter is documented in wp-includes/kses.php */
			return apply_filters( 'wp_kses_allowed_html', $tags, $context );

		case 'strip':
			/** This filter is documented in wp-includes/kses.php */
			return apply_filters( 'wp_kses_allowed_html', array(), $context );

		case 'entities':
			/** This filter is documented in wp-includes/kses.php */
			return apply_filters( 'wp_kses_allowed_html', $allowedentitynames, $context);

		case 'data':
		default:
			/** This filter is documented in wp-includes/kses.php */
			return apply_filters( 'wp_kses_allowed_html', $allowedtags, $context );
	}
}

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

Из метки: kses (очистка html)

wp_kses_allowed_html Комментариев нет

    Здравствуйте, !

    Ваш комментарий
    Предпросмотр