WordPress函数:sanitize_html_class 给 CSS class 名称“消消毒”

江河/ 01月18日/ WordPress/ 浏览 1353

函数原型:


sanitize_html_class( string $classname, string $fallback = ” ): string


对HTML类名进行Sanitize处理,以确保它只包含有效字符。将字符串向下剥离到A-Z、A-Z、0-9、_、-。如果这导致一个空字符串,那么它将返回所提供的替代值。


参数说明:


$classname class 名称


$fallback 如果清除处理以空字符串结束,则返回的值。


返回值:


处理后的 class 名称


函数源码:


function sanitize_html_class( $classname, $fallback = '' ) {
	// Strip out any percent-encoded characters.
	$sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $classname );

	// Limit to A-Z, a-z, 0-9, '_', '-'.
	$sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $sanitized );

	if ( '' === $sanitized && $fallback ) {
		return sanitize_html_class( $fallback );
	}

	return apply_filters( 'sanitize_html_class', $sanitized, $classname, $fallback );
}


包含钩子:


apply_filters( ‘sanitize_html_class’, string $sanitized, string $classname, string $fallback )


使用举例:


$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';


发表评论

暂无评论,抢个沙发...

客服 工单