WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

sanitize_title() WP 1.0.1

Очищает заголовок (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'

Примеры

#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 не установлен

Еще пример:

echo sanitize_title( 'sanitize_title() - HTML and PHP tags are stripped.' );

// выведет:
// sanitize_title-html-and-php-tags-are-stripped

#2 Установка значения по умолчанию

echo sanitize_title('', 'по дефолту'); //> по дефолту

Код sanitize title: wp-includes/formatting.php VER 5.0.3

<?php
function sanitize_title( $title, $fallback_title = '', $context = 'save' ) {
	$raw_title = $title;

	if ( 'save' == $context )
		$title = remove_accents($title);

	/**
	 * Filters a sanitized title string.
	 *
	 * @since 1.2.0
	 *
	 * @param string $title     Sanitized title.
	 * @param string $raw_title The title prior to sanitization.
	 * @param string $context   The context for which the title is being sanitized.
	 */
	$title = apply_filters( 'sanitize_title', $title, $raw_title, $context );

	if ( '' === $title || false === $title )
		$title = $fallback_title;

	return $title;
}

Cвязанные функции

Из метки: sanitize_ (очистка)

Еще из раздела: Очистка данных

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться