sanitize_title()
Очищает переданную строку (заголовок) для использования его в качестве ярлыка (slug).
Из заголовка будут удалены HTML и PHP теги. Если $title окажется пустым, то вместо него будет взято значение из $fallback_title.
Несмотря на название функции, её можно использовать в URL, чтобы избавится от пробелов и прочих нежелательных символов.
Основа для: wp_parse_slug_list()
1 раз — 0.000197 сек (быстро) | 50000 раз — 6.03 сек (быстро) | PHP 7.0.2, WP 4.4.2
Хуки из функции
Возвращает
Строку
.
Использование
sanitize_title( $title, $fallback_title, $context );
- $title(строка) (обязательный)
- Строка, которую нужно очистить.
- $fallback_title(строка)
- Заголовок, который будет использован, если не указан $title.
По умолчанию: '' - $context(строка)
Контекст в котором нужно очищать название переданное в $title. Значение передается в фильтр
'sanitize_title'
.При
'save'
(по умолчанию), строка проходит через функцию remove_accents().
По умолчанию: 'save'
Примеры
#1 Демонстрация работы
Для создания части УРЛа отвечающей за имя поста, ВП использует эту функцию:
$new_url = sanitize_title( 'Это длинный заголовок, который может быть у поста или страницы' ); echo $new_url; // вернет: // eto-dlinnyiy-zagolovok-kotoryiy-mozhet-byit-u-posta-ili-stranitsyi // если установлен плагин транслитерации cry2lat или подобный // %d1%8d%d1%82%d0%be-%d0%b4%d0%bb%d0%b8%d0%bd%d0%bd%d1%8b%d0%b9-%d0%b7%d0%b0%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%be%d0%ba-%d0%ba%d0%be%d1%82%d0%be%d1%80%d1%8b%d0%b9-%d0%bc%d0%be%d0%b6%d0%b5%d1%82-%d0%b1 // если cry2lat не установлен
Юникод символы:
var_dump( sanitize_title( '𝗕𝗥𝗔𝗜𝗡𝗟𝗔𝗜𝗦𝗦' ) ); // string(0) ""
Еще пример:
echo sanitize_title( 'sanitize_title() - HTML and PHP tags are stripped.' ); // выведет: // sanitize_title-html-and-php-tags-are-stripped
#2 Установка значения по умолчанию
echo sanitize_title( '', 'по дефолту'); //> по дефолту
Список изменений
С версии 1.0.0 | Введена. |