Перейти к содержанию

Дружественный URL (Friendly URL)


Рекомендуемые сообщения

Привет,

В моем языке есть такие символы, как «ã», «é», «ç» и т. Д. Я хотел бы заменить их обычными символами, например, «a», «e», «c».

Это сделано для предотвращения "процентного кодирования" (percent-encoding):

https://domain.com/files/file/50-c%C3%B3organi%C3%A7%C3%A3o-jud%C3%A1risp%C3%ADrio/

 

Я нашел это в system > Http> Url (Friendly.php), но я точно не знал, что делать, и правильный ли это файл:

	/**
	 * Convert a value into an "SEO Title" for friendly URLs
	 *
	 * @param	string	$value	Value
	 * @return	string
	 * @note	Many places require an SEO title, so we always need to return something, so when no valid title is available we return a dash
	 */
	public static function seoTitle( $value )
	{
		/* Ensure there are no HTML tags */
		$value = strip_tags( $value );
		
		/* Always lowercase */
		$value = mb_strtolower( $value );

		/* Get rid of newlines/carriage returns as they're not cool in friendly URL titles */
		$value = str_replace( array( "\r\n", "\r", "\n" ), ' ', $value );

		/* Just for readability */
		$value = str_replace( ' ', '-', $value );
		
		/* Disallowed characters which browsers may try to automatically percent-encode */
		$value = str_replace( array( '!', '*', '\'', '(', ')', ';', ':', '@', '&', '=', '+', '$', ',', '/', '?', '#', '[', ']', '%', '\\', '"', '<', '>', '^', '{', '}', '|', '.', '`' ), '', $value );
		
		/* Trim */
		$value = preg_replace( '/\-+/', '-', $value );
		$value = trim( $value, '-' );
		$value = trim( $value );
		
		/* Return */
		return $value ?: '-';
	}

 

Изменено пользователем BlackShot
Ссылка на комментарий
Поделиться на другие сайты

Я тоже нашел это (кажется полезным), но я не уверен, как это реализовать:

https://stackoverflow.com/questions/1017599/how-do-i-remove-accents-from-characters-in-a-php-string

Ссылка на комментарий
Поделиться на другие сайты

Плагин имеет настройку добавления символов для транслита.

Seo URL Transliteration.xml

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, BlackShot сказал:

Это сделано для предотвращения "процентного кодирования" (percent-encoding):

https://domain.com/files/file/50-c%C3%B3organi%C3%A7%C3%A3o-jud%C3%A1risp%C3%ADrio/

А разве правильная кодировка на сервере не предотвращает появление "percent-encoding"? Например, utf8.

У меня на сайте вот такие ссылки в браузере встречаются:

/videos/view-41918-040921-गदाधर-भट्ट-गोस्वामी-की-जीवन-कथा-भाग-1-श्री-श्री-बाबा-द्वारा/

 

Изменено пользователем Zero108
Ссылка на комментарий
Поделиться на другие сайты

4 hours ago, Zero108 said:

Doesn't proper encoding on the server prevent "percent-encoding" from appearing? For example utf8.

On my website, there are such links in the browser:

/videos/view-41918-040921-gadadhara-bhatta-goswami-ki-life-story-part-1-by-sri-sri-baba-by/

 

Да. Но если вы разместите URL-адрес в другом приложении, он будет выглядеть нестабильно. Я хотел этого избежать.

8 hours ago, Respected said:

The plugin has a setting for adding symbols for transliteration.

Seo URL Transliteration.xml 17.37 kB · 0 downloads

Думаю, это именно то, что я искал. Спасибо!!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...