Подскажите код
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