sanitize_html_class() — преобразует строку, делая её пригодной для использования в качестве HTML-класса

Функция фильтрует строку по регулярному выражению /[^A-Za-z0-9_-]/, удаляя все неподходящие символы и пробелы, да, это означает, что русские буквы будут также удалены.

sanitize_html_class( $class, $fallback = '' );

$class
(строка) (обязательное) — строка, которая будет использовать в качестве класса.

$fallback
(строка) (необязательное) — в этом параметре определяется, что должна возвращать функция в том случае, если результатом преобразования является пустая строка.

Примеры

Не совсем корректный для русскоязычных блогов пример с заголовком:

echo '<div class="' . sanitize_html_class( $post->post_title ) . '">';

Обратите внимание, если заголовок вашего поста полностью русский, то скорее всего от него ничего не останется.

В оригинальном WordPress Codex они ещё дополнительно пропускают атрибут класса через функцию esc_attr() — не совсем понятно, для чего это, ведь в классе и так уже не остается запрещенных символов, если только их может содержать переменная $fallback, например:

echo '<div class="' . esc_attr( sanitize_html_class( $title, 'h&m' ) ) . '">';

То есть, если в этом случае функция вернет h&m, то класс будет h&amp;m.

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

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Метод тыка хорош, но оснвоы нужно знать в любом случае. Рекомендую почитать это.

  • Миша: Добрый вечер! Если я правильно понял, то: if( $opisanie ) echo '' . $opisanie . '' ;

  • alex morozov: Добрый вечер! у меня возникла следующая проблема. Я делаю фотоальбомы, чтобы они выглядели "как в контакте". Так вот, та...

  • Vladislav: Если эту муть убрать, то исчезает меню, и появляется описание под миниатюрами, которого не должно быть, как вы видите, я...

  • Миша: Либо размеры изображений вам помогут, либо CSS. И строку 14 гляньте, там муть какая-то.