функция since 4.2.3

wp_kses_hair_parse()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

wp_kses_hair_parse( string $attr ): array|false

Описание

Не изменяет входные данные. Может вернуть «вредоносный» результат.
В случае неожиданных входных данных возвращает false вместо удаления содержимого.
Основана на wp_kses_hair(), но не возвращает многомерный массив.

Оригинал (английский)

Does not modify input. May return “evil” output.
In case of unexpected input, returns false instead of stripping things.

Based on wp_kses_hair() but does not return a multi-dimensional array.

Параметры

$attr string обязательный
Список атрибутов от HTML-элемента до его закрывающего тега.

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

array|false

Исходный код

wp-includes/kses.php:1724

function wp_kses_hair_parse( $attr ) {
	if ( '' === $attr ) {
		return array();
	}

	$regex =
		'(?:
				[_a-zA-Z][-_a-zA-Z0-9:.]* # Attribute name.
			|
				\[\[?[^\[\]]+\]\]?        # Shortcode in the name position implies unfiltered_html.
		)
		(?:                               # Attribute value.
			\s*=\s*                       # All values begin with "=".
			(?:
				"[^"]*"                   # Double-quoted.
			|
				\'[^\']*\'                # Single-quoted.
			|
				[^\s"\']+                 # Non-quoted.
				(?:\s|$)                  # Must have a space.
			)
		|
			(?:\s|$)                      # If attribute has no value, space is required.
		)
		\s*                               # Trailing space is optional except as mentioned above.
		';

	/*
	 * Although it is possible to reduce this procedure to a single regexp,
	 * we must run that regexp twice to get exactly the expected result.
	 *
	 * Note: do NOT remove the `x` modifiers as they are essential for the above regex!
	 */

	$validation = "/^($regex)+$/x";
	$extraction = "/$regex/x";

	if ( 1 === preg_match( $validation, $attr ) ) {
		preg_match_all( $extraction, $attr, $attrarr );
		return $attrarr[0];
	} else {
		return false;
	}
}

История изменений

ВерсияОписание
4.2.3 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.