Подскажите код

1. Илья (27.04.2010 / 16:52)
Всем привет! Может кто подсказать как правильно сделать код, чтобы данные преданные в GET запросе переводились из русского в латинский и передавались дальше уже переведенные ?

2. ктулху (27.04.2010 / 16:56)
Функцию перевода? Я думаю это будет сложно реализовать... Наиболее простой вариант грабить translate.google.ru

3. Azzido (27.04.2010 / 16:57)
$text=rawurldecode($_GET['text']);
$text=str_replace(
array('Ё','Ё','Ж','Ж','Ч','Ч','Щ','Щ','Щ','Ш','Ш','Э','Э','Ю',
'Ю','Я', 'Я','ч','ш','щ','э','ю','я','ё','ж','A','Б','В','Г',
'Д','E','З','И','Й ','К','Л','М','Н','О','П','Р','С','Т','У',
'Ф','Х','Ц','Ы','а','б','в', 'г','д','е','з','и','й','к','л',
'м','н','о','п','р','с','т','у','ф','х ','ц','ы','Ъ','ъ','Ь',
'ь'),
array('YO','Yo','ZH','Zh','CH','Ch','SHC','SHc','Shc','SH',
'Sh','YE','Ye','YU','Yu','YA','Ya','ch','sh','shc','ye','yu',
'ya','yo ','zh','A','B','V','G','D','E','Z','I','Y','K','L',
'M','N','O','P','R' ,'S','T','U','F','H','C','X','a','b','v',
'g','d','e','z','i','y','k',' l','m','n','o','p','r','s','t',
'u','f','h','c','x','""','"',"''","'")
,$text);

4. Azzido (27.04.2010 / 16:59)
вопрос в том куда передавать дальше, может потребоваться $text=rawurlencode($text);

5. Azzido (27.04.2010 / 17:01)
если я правильно понял что ты хочешь, транслитерацию, но тогда передавать можно и уже транслитированный текст

6. ramzes (27.04.2010 / 17:06)
Функцию транслита написать, примеров куча, писать лень
$_GET['var'] = strtr(array('a'=>'а','b'=>'б','v'=>'в'),$_GET['var']);

7. Илья (27.04.2010 / 17:11)
5. Azzido, Да. мне и надо дальше его передавать уже транслированным в case "make". А как она обратно будет возвращаться в переменную $_GET['text'] ?

8. Azzido (27.04.2010 / 17:18)
зечем тебе снова в масив GET помещать? ты используешь header('Location:'); ? в case "make" и транслитируй текст, я просто не совсем понимаю как у тебя там организовано

9. Илья (27.04.2010 / 17:27)
Все! Заработало! Огромное спасибо!

10. Flenat (27.04.2010 / 19:17)
Есть же функция удобная для этого дела
function totranslit($var, $lower = true, $punkt = true)
{
	$NpjLettersFrom = "абвгдезиклмнопрстуфцыі";
	$NpjLettersTo = "abvgdeziklmnoprstufcyi";
	$NpjBiLetters = array ("й" => "j", "ё" => "yo", "ж" => "zh", "х" => "x", "ч" => "ch", "ш" => "sh", "щ" => "shh", "э" => "ye", "ю" => "yu", "я" => "ya", "ъ" => "", "ь" => "", "ї" => "yi", "є" => "ye");
	$NpjCaps = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯЇЄІ";
	$NpjSmall = "абвгдеёжзийклмнопрстуфхцчшщьъыэюяїєі";
	$var = str_replace(".php", "", $var);
	$var = trim(strip_tags($var));
	$var = preg_replace("/\s+/ms", "-", $var);
	$var = strtr($var, $NpjCaps, $NpjSmall);
	$var = strtr($var, $NpjLettersFrom, $NpjLettersTo);
	$var = strtr($var, $NpjBiLetters);
	if ($punkt) $var = preg_replace("/[^a-z0-9\_\-.]+/mi", "", $var);
	else $var = preg_replace("/[^a-z0-9\_\-]+/mi", "", $var);
	$var = preg_replace('#[\-]+#i', '-', $var);
	if ($lower) $var = strtolower($var);
	if (strlen($var) > 50) {
		$var = substr($var, 0, 50);
		if (($temp_max = strrpos($var, '-'))) $var = substr($var, 0, $temp_max);
	} 
	return $var;
} 


11. Azzido (27.04.2010 / 19:20)
10, зачем все это о_О тут достаточно str_replace

12. Удаленный (27.04.2010 / 20:07)
Может даже достаточно urldecode()/urlencode()

13. Илья (28.04.2010 / 17:11)
Извините, вопрос наверно дурацкий, но все же, можно ли к примеру $_GET[a], $_GET[b] и $_GET[c] в case 'make' сравнять с $mdir так, чтобы далее по скрипту эти 3 Get параметра выражались переменной $mdir ? Если да, то как ?

14. Azzido (28.04.2010 / 17:18)
if(isset($_GET['a'])){$mdir=$_GET['a'];}
elseif(isset($_GET['b'])){$mdir=$_GET['b'];}
elseif(isset($_GET['c'])){$mdir=$_GET['c'];}
такое чтоль

15. Илья (28.04.2010 / 20:04)
14. Azzido, Да. Только что-то у меня не получается... Не передается параметры вообще...

URL: https://visavi.net/topics/8711