wp_kses_uri_attributes() WP 5.0.1

Отримує список HTML-атрибутів, у яких (за специфікацією) має вказуватися URL-адреса.

До списку входять усі атрибути: дозволені та заборонені у KSES WP.

1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.10 сек
(швидкість світла) |
PHP 7.2.5, WP 5.0.1

Хуки з функції

Повертає

Строку[]. Список HTML-атрибутів.

Використання

wp_kses_uri_attributes();

Приклади

0

#1 Що поверне функція

$uris = wp_kses_uri_attributes();

/* $uris =
Array
(
	[0] => action
	[1] => archive
	[2] => background
	[3] => cite
	[4] => classid
	[5] => codebase
	[6] => data
	[7] => formaction
	[8] => href
	[9] => icon
	[10] => longdesc
	[11] => manifest
	[12] => poster
	[13] => profile
	[14] => src
	[15] => usemap
	[16] => xmlns
)
*/
0

#2 Очистимо значення атрибута, в якому вказується URI

Цей демонстраційний приклад показує, як потрібно очищати значення атрибута, у якому має бути URI. За такою логікою чистяться значення WP KSES:

$uris = wp_kses_uri_attributes();
$allowed_protocols = wp_allowed_protocols();
$attrname = 'href';
$thisval = 'http://example.com';

if ( in_array( strtolower($attrname), $uris ) )
	$thisval = wp_kses_bad_protocol( $thisval, $allowed_protocols );

// якщо $thisval = 'foo://example.com'
echo $thisval; //> //example.com

// якщо $thisval = 'http://example.com'
echo $thisval; //> http://example.com

список змін

З версії 5.0.1Введено.

Код wp_kses_uri_attributes() WP 6.0.2

function wp_kses_uri_attributes() {
	$uri_attributes = array(
		'action',
		'archive',
		'background',
		'cite',
		'classid',
		'codebase',
		'data',
		'formaction',
		'href',
		'icon',
		'longdesc',
		'manifest',
		'poster',
		'profile',
		'src',
		'usemap',
		'xmlns',
	);

	/**
	 * Filters List of atributs, які вимагають розміщення URL.
	 *
	 * Use this filter to add any `data-` attributes that are required to be
	 * validated as a URL.
	 *
	 * @ Since 5.0.1
	 *
	 * @param string[] $uri_attributes HTML attribute names whose value contains a URL.
	 */
	$uri_attributes = apply_filters( 'wp_kses_uri_attributes', $uri_attributes );

	return $uri_attributes;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *