wp_kses_bad_protocol_once( string $string, string $allowed_protocols, $count = 1 )
Sanitizes content from bad protocols and other characters.
Description
This function searches for URL protocols at the beginning of $string, while handling whitespace and HTML entities.
Parameters
- $string
-
(Required) Content to check for bad protocols
- $allowed_protocols
-
(Required) Allowed protocols
Return
(string) Sanitized content
Source
File: wp-includes/kses.php
function wp_kses_bad_protocol_once($string, $allowed_protocols, $count = 1 ) {
$string = preg_replace( '/(�*58(?![;0-9])|�*3a(?![;a-f0-9]))/i', '$1;', $string );
$string2 = preg_split( '/:|�*58;|�*3a;|:/i', $string, 2 );
if ( isset($string2[1]) && ! preg_match('%/\?%', $string2[0]) ) {
$string = trim( $string2[1] );
$protocol = wp_kses_bad_protocol_once2( $string2[0], $allowed_protocols );
if ( 'feed:' == $protocol ) {
if ( $count > 2 )
return '';
$string = wp_kses_bad_protocol_once( $string, $allowed_protocols, ++$count );
if ( empty( $string ) )
return $string;
}
$string = $protocol . $string;
}
return $string;
}
Changelog
Version | Description |
---|---|
WP-1.0.0 | Introduced. |