Помоему проще написать что то типо этого: $rep = array( 'А','а','Б','б','В','в','Г','г','Д','д', 'Е','е','Ё','ё','Ж','ж','З','з','И','и', 'К','к','Л','л','М','м','Н','н','О','о', 'П','п','Р','р','С','с','Т','т','У','у', 'Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш', 'Щ','ш','Ь','ь','Ы','ы','Я','я','Э','э', 'Ю','ю','Ъ','ъ', ); $q = $_GET[q]; for ($i=0;$i<sizeof($rep);$i+=2) { $ii = $i+1; $q = str_replace($rep[$i],$rep[$ii],$q); } $q = strtolower($q); функция strtolower() у меня не работает с русскими строками.. Деревяно, ну а чтож.. зато работает...