нужна помощь

12 3
bmwm3
На сайте с 21.10.2009
Offline
35
1476

пхп начал изучать недавно,поисковик и справочник не помогли,прошу помощи :)

вот часть кода

$alt2 = basename("$files[$n]") ; // вытаскиваем название из строки

$alt2 = substr($alt2,0, strrpos($alt2,'.') ); // обрезаем расширение

$alt2 - это строка с русскими буквами

хочу перевести на латиницу

делаю так

$alt2 = $word ;

function rus2eng($word){

// Сначала заменяем "односимвольные" фонемы.

$word=trim($word);

$word=strtr($word,"абвгдеёзийклмнопрстуфхъыэ_","abvgdeeziyklmnoprstufh'iei");

$word=strtr($word,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_","ABVGDEEZIYKLMNOPRSTUFH'IEI");

// Затем - "многосимвольные".

$word=strtr($word, array("ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",

"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",

"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",

"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",

"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye", " "=>"_"));

$word=iconv("windows-1251","UTF-8",$word);

// Возвращаем результат.

return $word;

}

$word = $alt2 ;

подскажите что я делаю не так ?

Лучше решение под даттинг трафик!!!! (http://tinyurl.com/39lto3z) авто постинг в форумы(все движки)
[Удален]
#1

Я прошу прощения, но вы же конечно-же вызываете функцию перед присваиванием переменной результата? Типа $alt2 = rus2eng($word); ?

Ну а вообще - есть целый раздел посвященный веб-разработке

BredoGen.
На сайте с 19.10.2009
Offline
98
#2


function rus2eng($word){
// Сначала заменяем "односимвольные" фонемы.
$word=trim($word);
$word=strtr($word,"абвгдеёзийклмнопрстуфхъыэ_","abvgdeeziyklmnoprstufh'iei");
$word=strtr($word,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_","ABVGDEEZIYKLMNOPRSTUFH'IEI");
// Затем - "многосимвольные".
$word=strtr($word, array("ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye", " "=>"_"));
$word=iconv("windows-1251","UTF-8",$word);
// Возвращаем результат.
return $word;
}

$alt2 = rus2eng($alt2);
bmwm3
На сайте с 21.10.2009
Offline
35
#3

BredoGen, не помогло

falkhan:
вызываете функцию перед присваиванием переменной результата? Типа $alt2 = rus2eng($word);

пару дней только пхп учу,можно подробней ? ,присваивание перед функцией убирал,не помогло

ps: пишит ошибку в этой стоке function rus2eng($alt2){

[Удален]
#4

зачем оно тебе ? знаю 3х программеров. программируют хорошо, на зарабатывают копейки. думаю "как так ??" ... а вот так и есть. не трать время, зарабатывай на дорах. а любую прогу можно или найти или заказать. программистов море всех мастей.

PM
На сайте с 23.03.2009
Offline
13
#5
bmwm3:
BredoGen, не помогло


пару дней только пхп учу,можно подробней ? ,присваивание перед функцией убирал,не помогло

ps: пишит ошибку в этой стоке function rus2eng($alt2){

сообщение об ошибке озвучь

. icq 553073277
bmwm3
На сайте с 21.10.2009
Offline
35
#6
doorgay:
зачем оно тебе ? знаю 3х программеров. программируют хорошо, на зарабатывают копейки. думаю "как так ??" ... а вот так и есть. не трать время, зарабатывай на дорах. а любую прогу можно или найти или заказать. программистов море всех мастей.

хм,почему по твоему я в этом разделе написал ? дорвейщик я :)

не всё можно найти,да и зачем искать если самому можно написать,своё всегда приятнее

PM
На сайте с 23.03.2009
Offline
13
#7

function translit($cyr_str) 

{

$razd="-";

$cyr_str=strtolower($cyr_str);

$tr = array("А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",

"Д"=>"d","Е"=>"e","Ж"=>"zh","З"=>"z","И"=>"i",

"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",

"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",

"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"c","Ч"=>"ch",

"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"y","Ь"=>"",

"Э"=>"e","Ю"=>"u","Я"=>"ya","а"=>"a","б"=>"b",

"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"zh",

"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",

"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",

"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",

"ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"",

"ы"=>"y","ь"=>"","э"=>"e","ю"=>"u","я"=>"ya", " " => $razd);

$text= strtr($cyr_str, $tr);

$text=preg_replace("/[^a-z0-9_ -]*/", "", $text);

return $text;

}

вызов


$lol=translit("КАКАЯ-То ФраЗа");
echo $lol;
bmwm3
На сайте с 21.10.2009
Offline
35
#8
PokerMonster:
сообщение об ошибке озвучь

Fatal error: Cannot redeclare rus2eng() (previously declared in Z:\home\fotogal\:87)

[Удален]
#9
bmwm3:
хм,почему по твоему я в этом разделе написал ? дорвейщик я :)
не всё можно найти,да и зачем искать если самому можно написать,своё всегда приятнее

знаю что дорвейщик. противоречий не вижу. кроме "найти" я написал "заказать". на втыкание в коды тратишь время. ладно

BredoGen.
На сайте с 19.10.2009
Offline
98
#10
bmwm3:
Fatal error: Cannot redeclare rus2eng() (previously declared in Z:\home\fotogal\:87)

Так эта функция у вас уже определена в файле Z:\home\fotogal\ на строке 87. Т.е вы заново создаете функцию.

12 3

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