функция
since 1.0.0
wp_kses_bad_protocol_once()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_kses_bad_protocol_once( string $content, string[] $allowed_protocols, int $count = 1 ): string
Описание
Ищет URL-протоколы в начале строки, обрабатывая при этом пробельные символы и HTML-сущности.
Оригинал (английский)
This function searches for URL protocols at the beginning of the string, while handling whitespace and HTML entities.
Параметры
$content
string
обязательный
Содержимое для проверки на плохие протоколы.
$allowed_protocols
string[]
обязательный
Массив разрешённых URL-протоколов.
$count
int
необязательный
= 1
Глубина рекурсии вызовов этой функции.
Возвращаемое значение
string
Исходный код
wp-includes/kses.php:2010
function wp_kses_bad_protocol_once( $content, $allowed_protocols, $count = 1 ) {
$content = preg_replace( '/(�*58(?![;0-9])|�*3a(?![;a-f0-9]))/i', '$1;', $content );
$content2 = preg_split( '/:|�*58;|�*3a;|:/i', $content, 2 );
if ( isset( $content2[1] ) && ! preg_match( '%/\?%', $content2[0] ) ) {
$content = trim( $content2[1] );
$protocol = wp_kses_bad_protocol_once2( $content2[0], $allowed_protocols );
if ( 'feed:' === $protocol ) {
if ( $count > 2 ) {
return '';
}
$content = wp_kses_bad_protocol_once( $content, $allowed_protocols, ++$count );
if ( empty( $content ) ) {
return $content;
}
}
$content = $protocol . $content;
}
return $content;
}
История изменений
| Версия | Описание |
|---|---|
| 1.0.0 | Introduced. |

