仅过滤一个属性并确保其值。

原型

wp_kses_one_attr( string $string, string $element )

描述

此函数的优点是比esc_attr()更安全,并且在wp_kses()必须剥离整个属性的某些情况下可以转义数据。

参数

$string (string) (Required) “整体”属性,包括名称和值。

$element (string) (Required) 属性所属的元素名称。

返回值

(string)  已过滤的属性。

源文件

路径:wp-includes/kses.php

<?php
...
function wp_kses_one_attr( $string, $element ) {
	$uris = array(';
		} else {
			$quote = $value[0];
		}
		if ( '"' == $quote || "'" == $quote ) {
			if ( substr( $value, -1 ) != $quote ) {
				return '';
			}
			$value = substr( $value, 1, -1 );
		} else {
			$quote = '"';
		}
		// Sanitize quotes, angle braces, and entities.
		$value = esc_attr( $value );
		// Sanitize URI values.
		if ( in_array( strtolower( $name ), $uris ) ) {
			$value = wp_kses_bad_protocol( $value, $allowed_protocols );
		}
		$string = "$name=$quote$value$quote";
		$vless = 'n';
	} else {
		$value = '';
		$vless = 'y';
	}
	// Sanitize attribute by name.
	wp_kses_attr_check( $name, $value, $string, $vless, $element, $allowed_html );
	// Restore whitespace.
	return $lead . $string . $trail;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_kses_one_attr/