Slug в этом контексте - это строка, которая безопасна для использования в качестве идентификатора, в URL-адресах или css. Например, если у вас есть эта строка:
I'd like to eat at McRunchies!
Его пуля будет:
i-d-like-to-eat-at-mcrunchies
Я хочу знать, есть ли стандартный способ построения таких строк для Drupal (или php-функций, доступных из drupal). Точнее, внутри темы Drupal.
Контекст: я изменяю тему drupal, поэтому html узлов, которые он генерирует, включает их таксономические термины как классы css в их содержащем div. Проблема в том, что некоторые из имен этих терминов не являются допустимыми именами класса css. Мне нужно "убить" их.
Я читал, что некоторые люди просто делают это:
str_replace(" ", "-", $term->name)
Этого не достаточно для меня. Он не заменяет прописные буквы нижним регистром, но что более важно, не заменяет символы не-ascii (например, à или é) их эквивалентами ascii. Он также не удаляет "разделительные строки" с начала и конца.
Есть ли функция в drupal 6 (или php libs), которая предоставляет способ для slugify строки и может использоваться в файле template.php темы drupal?