# wp_kses_attr_parse()

URL: https://chugunov.pro/api-wordpress/functions/wp_kses_attr_parse/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 4.2.3.

## Сигнатура

```php
wp_kses_attr_parse( string $element ): array|false
```

## Описание

Не изменяет входные данные. Может вернуть «вредоносный» результат.
Основана на wp_kses_split2() и wp_kses_attr().

## Параметры

- `$element` `string` — обязательный. HTML-элемент.

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

`array|false`

## Исходный код

Файл: `wp-includes/kses.php:1673`

```php
function wp_kses_attr_parse( $element ) {
	$valid = preg_match( '%^(<\s*)(/\s*)?([a-zA-Z0-9]+\s*)([^>]*)(>?)$%', $element, $matches );
	if ( 1 !== $valid ) {
		return false;
	}

	$begin  = $matches[1];
	$slash  = $matches[2];
	$elname = $matches[3];
	$attr   = $matches[4];
	$end    = $matches[5];

	if ( '' !== $slash ) {
		// Closing elements do not get parsed.
		return false;
	}

	// Is there a closing XHTML slash at the end of the attributes?
	if ( 1 === preg_match( '%\s*/\s*$%', $attr, $matches ) ) {
		$xhtml_slash = $matches[0];
		$attr        = substr( $attr, 0, -strlen( $xhtml_slash ) );
	} else {
		$xhtml_slash = '';
	}

	// Split it.
	$attrarr = wp_kses_hair_parse( $attr );
	if ( false === $attrarr ) {
		return false;
	}

	// Make sure all input is returned by adding front and back matter.
	array_unshift( $attrarr, $begin . $slash . $elname );
	array_push( $attrarr, $xhtml_slash . $end );

	return $attrarr;
}
```

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

- 4.2.3 — Introduced.

## Связанные

Использует: [`wp_kses_hair_parse`](https://chugunov.pro/api-wordpress/functions/wp_kses_hair_parse/).
Используется в: [`do_shortcodes_in_html_tags`](https://chugunov.pro/api-wordpress/functions/do_shortcodes_in_html_tags/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_kses_attr_parse/
