过滤内容并仅保留允许的HTML元素。

原型

wp_kses( string $string, array $allowed_html, array $allowed_protocols = array() )

描述

此函数确保只有允许的HTML元素名称,属性名称和属性值加上只有合理的HTML实体才会出现在$ string中。在调用此函数之前,你必须从PHP的魔术引号中删除任何斜杠。

参数

$string (string) (Required) 要通过kses过滤的内容

$allowed_html (array) (Required) 允许的HTML元素列表

$allowed_protocols (array) (Optional)  链接中允许的协议。

返回值

(string)  仅包含允许的HTML元素的过滤内容

源文件

路径:wp-includes/kses.php

<?php
...
function wp_kses( $string, $allowed_html, $allowed_protocols = array() ) {
	if ( empty( $allowed_protocols ) )
		$allowed_protocols = wp_allowed_protocols();
	$string = wp_kses_no_null( $string, array( 'slash_zero' => 'keep' ) );
	$string = wp_kses_normalize_entities($string);
	$string = wp_kses_hook($string, $allowed_html, $allowed_protocols); // WP changed the order of these funcs and added args to wp_kses_hook
	return wp_kses_split($string, $allowed_html, $allowed_protocols);
}
...
?>

其他

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