wp_kses()确保只有被允许的HTML标签和属性名

目录

描述

译文

该函数确保在$string中只出现经许可的HTML元素名称、属性名称和属性值以及有意义的HTML实体。调用该函数前需要删除PHP魔术引号中的斜线。

原文

 函数确保只有被允许的 HTML 标 和属性名,属性 ,以 一些正确  HTML 实 出现在 $string  ,在调用 个函数之前,需 先移  PHP magic quotes 生成的 / 。

wp_kses() 描述

用法

 <?php wp_kses($string$allowed_html$allowed_protocols); ?> 

wp_kses() 用法

参数

$string

(string) (必填) 将通过 kses 过滤的内容

默认值: None

$allowed_html

(array) (必填) 允许  HTML 标签列表

默认值: None

$allowed_protocols

(array) (可选) $string  允许的协议

默认值:  默认的协议是:http, https, ftp, mailto, news, irc, gopher, nntp, feed, 和 telnet。 这个基本覆盖了大部  接协议,除了 javascript,它不允许被一些不受 任用 使用。

wp_kses() 参数

返回值

(string)

 了不合  HTML 代码之 的字 串。

wp_kses() 返回值

示例

下面是  创建允许的HTML标签和属性的实例:

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
array(
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
    'em' => array(),
    'strong' => array(),
);

wp_kses() 示例

注意

  • KSES is a recursive acronym which stands for “KSES Strips Evil Scripts".

wp_kses() 注意

历史

  • 添加于 版本: 1.0.0

wp_kses() 历史

源文件

wp_kses() 函数的代码位于 wp-includes/kses.php.

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
/**
 * Filters content and keeps only allowable HTML elements.
 *
 * This function makes sure that only the allowed HTML element names, attribute
 * names and attribute values plus only sane HTML entities will occur in
 * $string. You have to remove any slashes from PHP's magic quotes before you
 * call this function.
 *
 * The default allowed protocols are 'http', 'https', 'ftp', 'mailto', 'news',
 * 'irc', 'gopher', 'nntp', 'feed', 'telnet, 'mms', 'rtsp' and 'svn'. This
 * covers all common link protocols, except for 'javascript' which should not
 * be allowed for untrusted users.
 *
 * @since 1.0.0
 *
 * @param string $string            Content to filter through kses
 * @param array  $allowed_html      List of allowed HTML elements
 * @param array  $allowed_protocols Optional. Allowed protocol in links.
 * @return string Filtered content with only allowed HTML elements
 */
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_js_entities($string);
	$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);
}

wp_kses() 源文件

相关