Функция sanitize_title()
очищает строку, создавая «чистый» slug (ярлык), подходящий для использования в URL или HTML-атрибутах. Эта функция убирает пробелы и нежелательные символы, приводя текст к формату, в котором останутся только буквы, цифры, дефисы и подчеркивания.
sanitize_title( string $title, string $fallback_title = ”, string $context = ‘save’ ): string
Параметры
- $title (строка, обязательный) — Строка, которую необходимо очистить.
- $fallback_title (строка, необязательный) — Значение, которое будет возвращено, если
$title
пуст. - $context (строка, необязательный) — Определяет тип обработки. При значении
save
(по умолчанию) текст проходит через функциюremove_accents()
, что позволяет конвертировать акценты в ASCII-символы.
Возвращаемое значение
Функция возвращает строку, очищенную от недопустимых символов, с возможной заменой акцентов.
Пример 1: Создание URL-friendly текста
Функция преобразует заголовок в слаг, заменяя пробелы на дефисы и удаляя специальные символы.
echo sanitize_title("Это пример заголовка на русском языке!");
// Результат: "это-пример-заголовка-на-русском-языке" (при использовании транслитерации)
// или: "%d1%8d%d1%82%d0%be-%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-..." (если транслитерация не установлена)
Этот код конвертирует заголовок в латиницу (при наличии плагина транслитерации), оставляя только буквы и дефисы.
Пример 2: Использование с параметром $fallback_title
Если основной заголовок пустой, функция вернёт значение из параметра $fallback_title
.
echo sanitize_title("", "заголовок-по-умолчанию");
// Результат: "заголовок-по-умолчанию"
В случае пустого $title
функция выведет указанный «fallback» заголовок.
Пример 3: Очистка заголовка с HTML и PHP тегами
Функция удаляет HTML и PHP теги, оставляя только текст.
echo sanitize_title("sanitize_title() - <strong>HTML</strong> and PHP tags are <em>stripped</em>.");
// Результат: "sanitize_title-html-and-php-tags-are-stripped"
HTML-теги <strong>
и <em>
удаляются, а пробелы заменяются на дефисы.
Пример 4: Преобразование строки с акцентами
В контексте save
функция применяет remove_accents()
, что помогает преобразовать символы с акцентами в их ASCII-аналог.
echo sanitize_title("Crème brûlée");
// Результат: "creme-brulee"
Функция удаляет акценты, оставляя только базовые символы.
Заключение
Функция sanitize_title()
— полезный инструмент для формирования URL-совместимых строк, которые легко индексируются и используются в URL.