Как мога да направя това?

omrazo

Registered
Искам примерно в сайта се въвежда името на дадена песен на български и ми трябва скрипт който да прави това от български да прави името на песента и на латиница.Името на променливата е $songername
Пример:
Джоана - Грубо обичана / Djoana - Grubo obichana
 
Вероятно има такъв скрипт и начин на изпълнение ама ми се вижда сложно тъй като ти примерно го напишеш Джоана, то по пътя на логиката няма да е Djoana а ще е Joanna тоест се получава разминаване и е възможно ако потребителя изписва Djoana а то е Joanna да изкарва , че няма резултат.
 
според мен трябва да е нещо което да разчита че е даденият симбол е примерно Д което е равно на D
 
според мен ти трябва 1 функция която да променя българските букви на английски ... магията става с str_resplace()

PHP:
$text = "М1тя96";

function toLatin($str)
{

$str = str_replace("M","m",$str);
$str = str_replace("1","1",$str);
$str = str_replace("т","t",$str);
$str = str_replace("я","q",$str);
return $str
}

echo toLatin($text);

естествено трябва да го направиш това за всяка 1 буква и да я замениш с английската и версия ...

примерно:

PHP:
$bg = array('а','б','в','г','д');
$en = array('a','b','v','g','d');
$str = "a b в г д";
for($i=0; $i <= count($bg); $i++)
{
  $str = str_replace($bg[$i],$en[$i],$str);
}

echo $str;

така тва последното е просто пример , незнам да ще работи но трябва да го схванеш иначе нищо неможе да направиш .. това е от мене сега сичко зависи от теб . .. дали ще го правиш като функция или ще го пишеш на всякаде.. нз :)
 
Прави се един масив като tranlsate map - ключовете на масива са буквите на кирилица, а стойностите - съответващите им стойности в латиницата. След това фунцията strtr се грижи да направи замените - първия параметър е оргиналния текст, втория параметър е масива.

PHP:
$map = array(
   'а' => 'a',
   'б' => 'b',
   'в' => 'v',
   'г' => 'g',
   'д' => 'd'
);

//$result ще бъде "tekst na kirilica
$result = strtr("текст на кирилица", $map);
 

Back
Горе