sanitize_html_class

Подготавливает текст для использования его в html атрибуте class: удаляет все неподходящие символы.

Функция удаляет все октеты и все символы не входящие в значения: A-Z, a-z, 0-9, _, –.
Если в результате получится пустая строка, то функция вернет альтернативный класс, указанный во втором параметре $fallback.

Перед возвращением данных результат прогоняется через фильтр sanitize_html_class.

Хуки из функции:
sanitize_html_class
Возвращает

Очищенную строку.

Использование

$sanitized = sanitize_html_class( $class, $fallback );
$class(строка) (обязательный)
Строка (название класса) которую нужно очистить.
$fallback(строка)
Значение, которое нужно вернуть, если оригинальное значение после очистки окажется пустой строкой.
По умолчанию: нет

Примеры

#1 Демонстрация работы функции

<?php
function sanitize_html_class( $class, $fallback = '' ) {
	//Strip out any % encoded octets
	$sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $class );

	//Limit to A-Z,a-z,0-9,_,-
	$sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $sanitized );

	if ( '' == $sanitized && $fallback ) {
		return sanitize_html_class( $fallback );
	}
	/**
	 * Filters a sanitized HTML class string.
	 *
	 * @since 2.8.0
	 *
	 * @param string $sanitized The sanitized HTML class.
	 * @param string $class     HTML class before sanitization.
	 * @param string $fallback  The fallback string.
	 */
	return apply_filters( 'sanitize_html_class', $sanitized, $class, $fallback );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *