powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / функция транслита для урл
6 сообщений из 6, страница 1 из 1
функция транслита для урл
    #37976737
vanderv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот сама функция:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
		$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",
			
			" "=>"_", "."=>"", ","=>"_", "/"=>"_", "?"=>"",
			"«"=>"", "»"=>"", "-"=>"_", "!"=>"", "\""=>"",
			"№"=>"", ";"=>"", "%"=>"", ":"=>"_", "?"=>"", "*"=>"",
			"("=>"", ")"=>"", "+"=>"_",
			
			"Ә"=>"a'","Ғ"=>"gh",
			"Қ"=>"q","Ң"=>"ng","Ө"=>"o'","Ұ"=>"u","Ү"=>"u'",
			"ә"=>"a'","ғ"=>"gh",
			"қ"=>"q","ң"=>"ng","ө"=>"o'","ұ"=>"u","ү"=>"u'"
			
		);
		return strtr($str,$tr);


Если нету совпадения из массива то надо заменить пробелом или просто пустым символом - как это сделать?
...
Рейтинг: 0 / 0
функция транслита для урл
    #37976749
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanderv,

Код: php
1.
2.
3.
4.
5.
6.
$tr = array(...);
$result = strtr($str, $tr);
if ($result == $str)
  $result = "пробел или просто пустой символ";

return $result;
...
Рейтинг: 0 / 0
функция транслита для урл
    #37976758
vanderv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

Не работает(
Судя по коду он сработает если в слове ни один символ не нашел совпадение.
А меня интересует те символы которые не нашлись в массиве, пусть даже 1 символ из всего слова.
...
Рейтинг: 0 / 0
функция транслита для урл
    #37976822
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

Код: php
1.
2.
3.
4.
5.
$tr = array(...);
foreach (str_split($str) as $ch)
  $result .= array_key_exists($ch, $tr) ? $ch : "_"; // замена на '_' - если совпадений нет

return $result;
...
Рейтинг: 0 / 0
функция транслита для урл
    #37976854
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно поинтересоваться зачем сабж может пригодиться?
...
Рейтинг: 0 / 0
функция транслита для урл
    #37976858
vanderv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Можно... функция используется в фронт-энде и некоторые любят использоваться непонятные символы. Вот понадобилось все эти символы удалить.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / функция транслита для урл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]