wp_kses_split()WP 1.0.0

Searches for HTML tags, no matter how malformed.

It also matches stray > characters.

Хуков нет.

Возвращает

Строку. Content with fixed HTML tags

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

wp_kses_split( $content, $allowed_html, $allowed_protocols );
$content(строка) (обязательный)
Content to filter.
$allowed_html(array[]|строка) (обязательный)
An array of allowed HTML elements and attributes, or a context name such as 'post'. See wp_kses_allowed_html() for the list of accepted context names.
$allowed_protocols(string[]) (обязательный)
Array of allowed URL protocols.

Заметки

  • Global. Массив[]|Строка. $pass_allowed_html An array of allowed HTML elements and attributes, or a context name such as 'post'.
  • Global. Строка[]. $pass_allowed_protocols Array of allowed URL protocols.

Список изменений

С версии 1.0.0 Введена.
С версии 6.6.0 Recognize additional forms of invalid HTML which convert into comments.

Код wp_kses_split() WP 6.6.1

function wp_kses_split( $content, $allowed_html, $allowed_protocols ) {
	global $pass_allowed_html, $pass_allowed_protocols;

	$pass_allowed_html      = $allowed_html;
	$pass_allowed_protocols = $allowed_protocols;

	$token_pattern = <<<REGEX
~
	(                      # Detect comments of various flavors before attempting to find tags.
		(<!--.*?(-->|$))   #  - Normative HTML comments.
		|
		</[^a-zA-Z][^>]*>  #  - Closing tags with invalid tag names.
		|
		<![^>]*>           #  - Invalid markup declaration nodes. Not all invalid nodes
		                   #    are matched so as to avoid breaking legacy behaviors.
	)
	|
	(<[^>]*(>|$)|>)        # Tag-like spans of text.
~x
REGEX;
	return preg_replace_callback( $token_pattern, '_wp_kses_split_callback', $content );
}