Функция sanitize_html_class()
в WordPress предназначена для очистки строк, которые будут использоваться в качестве имен классов CSS. Она удаляет недопустимые символы и гарантирует, что итоговая строка будет содержать только допустимые символы, такие как буквы, цифры, подчеркивания и дефисы. Эта функция помогает избежать ошибок в коде и защищает от возможных уязвимостей.
sanitize_html_class( string $classname, string $fallback = ” ): string
Параметры функции
- $classname (строка, обязательный): Имя класса, которое требуется очистить.
- $fallback (строка, необязательный): Значение, которое будет возвращено, если результат очистки окажется пустым. По умолчанию — пустая строка.
Возвращаемое значение
Функция возвращает очищенное имя класса или значение $fallback
, если очищенное имя оказывается пустым.
Пример 1: Очистка строки с недопустимыми символами
Давайте посмотрим, как работает функция на примере строки с символами, которые не являются допустимыми:
$invalid_class = 'Пробный текст';
$sanitized_class = sanitize_html_class($invalid_class);
echo $sanitized_class; // вывод: ''
В этом случае функция возвращает пустую строку, так как строка не содержит допустимых символов.
Пример 2: Удаление пробелов и недопустимых символов
Очистим строку, содержащую пробелы:
$example_class = 'Some text with spaces';
$sanitized_class = sanitize_html_class($example_class);
echo $sanitized_class; // вывод: Sometextwithspaces
Функция удаляет пробелы и возвращает строку без недопустимых символов.
Пример 3: Класс с дефисами
Очистим строку с корректными символами:
$valid_class = 'my-class';
$sanitized_class = sanitize_html_class($valid_class);
echo $sanitized_class; // вывод: my-class
В этом случае строка остается без изменений, так как она содержит только допустимые символы.
Пример 4: Обработка строки, начинающейся с цифры
Посмотрим, как функция обрабатывает строку, начинающуюся с цифры:
$numbered_class = '5foo';
$sanitized_class = sanitize_html_class($numbered_class);
echo $sanitized_class; // вывод: 5foo
Несмотря на то, что классы не должны начинаться с цифры, функция возвращает строку без изменений.
Пример 5: Указание альтернативного значения
В случае, если очищенная строка оказывается пустой, можно использовать параметр $fallback
:
$empty_class = '!!!';
$sanitized_class = sanitize_html_class($empty_class, 'default-class');
echo $sanitized_class; // вывод: default-class
Здесь функция вернет значение по умолчанию, так как входная строка не содержит допустимых символов.
Заключение
Функция sanitize_html_class()
является важным инструментом для обработки имен классов в WordPress. Она обеспечивает корректность и безопасность данных, позволяя разработчикам избегать ошибок и уязвимостей в коде. Использование этой функции помогает гарантировать, что имена классов соответствуют стандартам CSS и не содержат недопустимых символов.