wp_kses_bad_protocol()清理字符串,删除错误的URL协议

目录

描述

译文

过滤bad protocol中的字符串。

该函数在$string开始时,删除所有不被允许的protocol。函数可以忽略空格和字母大小写的差异,同时可以识别HTML实体。函数在while循环中工作,因此不会被类似'javascript:javascript:alert(57)'的字符串欺骗。

原文

清理字符 ,删除错误的URL协议。

这个函    $string   的不允许的协议,它会忽略空格和字符的大小写, 能够处理 HTML 实体。并且它是在一个 While 循 中运行,所以不会被 'javascript:javascript:alert(57)' 的字符串给欺骗了。

wp_kses_bad_protocol() 描述

用法

<?php wp_kses_bad_protocol$string$allowed_protocols ); ?>

wp_kses_bad_protocol() 用法

参数

$string

(string) (必填) 需要过滤错  URL 协议的字符串

默认值: None

$allowed_protocols

(array) (必填) 允许的 

默认值: None

wp_kses_bad_protocol() 参数

返回值

(string) 

过滤之后的字符串

wp_kses_bad_protocol() 返回值

历史

添加于 版本: 1.0.0

wp_kses_bad_protocol() 历史

源文件

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

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
/**
 * Sanitize string from bad protocols.
 *
 * This function removes all non-allowed protocols from the beginning of
 * $string. It ignores whitespace and the case of the letters, and it does
 * understand HTML entities. It does its work in a while loop, so it won't be
 * fooled by a string like "javascript:javascript:alert(57)".
 *
 * @since 1.0.0
 *
 * @param string $string            Content to filter bad protocols from
 * @param array  $allowed_protocols Allowed protocols to keep
 * @return string Filtered content
 */
function wp_kses_bad_protocol($string, $allowed_protocols) {
	$string = wp_kses_no_null($string);
	$iterations = 0;

	do {
		$original_string = $string;
		$string = wp_kses_bad_protocol_once($string, $allowed_protocols);
	} while ( $original_string != $string && ++$iterations < 6="" );="" if="" (="" $original_string="" !="$string" )="" return="" '';="" return="" $string;="" }="">

wp_kses_bad_protocol() 源文件