URL транслит

12
JL
На сайте с 21.02.2012
Offline
8
1240

Здравствуйте, вот пытаюсь поставить чтобы урл был с транслитом но что-то не получается.

Попробывал эту функцию. Отображается правильно но по переходу на ссылке не отображается нужный контент.

function translitIt($str) 
{
$tr = array(
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
"Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
" "=> "_", "."=> "", "/"=> "_"
);
return strtr($str,$tr);
}

if (preg_match('/[^A-Za-z0-9_\-]/', $urlstr)) {
$urlstr = translitIt($urlstr);
$urlstr = preg_replace('/[^A-Za-z0-9_\-]/', '', $urlstr);
}

Если ставлю urlencode($peremennaea);

то ссылка работает но транслит не работает (то есть урл как и прежде в иероглифах).

Кто-то может помочь ?

Компьютерная помощь (http://pc-performance.ru)
E
На сайте с 21.09.2009
Offline
283
#1
JooLeeK:
Здравствуйте, вот пытаюсь поставить чтобы урл был с транслитом но что-то не получается.
Попробывал эту функцию. Отображается правильно но по переходу на ссылке не отображается нужный контент.

то ссылка работает но транслит не работает (то есть урл как и прежде в иероглифах).

Кто-то может помочь ?

Если страница в утф8 то preg_match не работает с ним. Не помню искал на гугле нашел поищите. Если не найдете шумните в личку попробую у себя найти.

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#2
Отображается правильно но по переходу на ссылке не отображается нужный контент.

У вас что за движок? И с чего вы решили, что должен контент отображаться?

Если страница в утф8 то preg_match не работает с ним

Чушь не порите. Всё работает корректно. u в помощь, но вам ничего это не скажет.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
JL
На сайте с 21.02.2012
Offline
8
#3

движок DLE. Кстати, я сейчас всё делаю на локалке(не знаю есть ли разница или нет, но всё же)...

E
На сайте с 21.09.2009
Offline
283
#4

LEOnidUKG, давно научился? гавкаеш отменно.

JL
На сайте с 21.02.2012
Offline
8
#5

Работает: 1 пример (без транслита):http://site.ru/biography/%C0%ED%E0%F2%EE%EB%E8%E9_%D0%F3%E4%E5%ED%EA%EE

Не работает: 2 пример (с транслитом) http://site.ru/biography/Aleksandr_TSurkan

DP
На сайте с 24.04.2012
Offline
16
#6

Ну наверное в базе хранится имя на русском. Если вам нужен Иван, то понятно SELECT по Ivan ничего не даст. Нужно или в БД хранить в кириллице, либо написать фунцию для декодирования, с транслита в обычную кириллицу.

JL
На сайте с 21.02.2012
Offline
8
#7
developer_php:
Ну наверное в базе хранится имя на русском. Если вам нужен Иван, то понятно SELECT по Ivan ничего не даст. Нужно или в БД хранить в кириллице, либо написать фунцию для декодирования, с транслита в обычную кириллицу.

я хочу добиться того чтобы ссылка в адресной строке была такой /biography/ivan_petrov а не /biography/иван_петров + чтоб на сайте имя отображалась на русском языке

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#8
JooLeeK:
я хочу добиться того чтобы ссылка в адресной строке была такой /biography/ivan_petrov а не /biography/иван_петров + чтоб на сайте имя отображалась на русском языке

А у вас знания PHP то хватит, чтобы разобраться? 🍿

JL
На сайте с 21.02.2012
Offline
8
#9
LEOnidUKG:
А у вас знания PHP то хватит, чтобы разобраться? 🍿

Я пока новичек, прошел курс про PHP но там про это я не встретил... Если знаете как, не стесняетесь :) я вас послушаю...

siv1987
На сайте с 02.04.2009
Offline
427
#10
JooLeeK:
Работает: 1 пример (без транслита):http://site.ru/biography/%C0%ED%E0%F...E4%E5%ED%EA%EE

А с каких пор у ДЛЕ такие ссылки? Там насколько я знаю завязано на ид.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий