Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > что нужно дописать str_replace


Автор: agarheim 26.2.2007, 15:26
Вопрос состоит в следующем есть вот такая функция 
Код

//работа над текстом
 function gorod($text)
  {
 $chla = array("2","3",'4',"5","6","7","8","9","10","11","12","13",'14',"15","16",
               "17","18","19","20","21",'22',"23","24","25");
 $bvu  = array("Винница","Днепропетровск","Донецк","Житомир","Запорожье","Ивано-Франковск","Киев","Кировоград","Крым",
               "Луганск","Луцк","Львов","Николаев","Одесса","Полтава","Ровно","Сумы","Тернополь","Ужгород","Харьков",
               "Херсон","Хмельницкий","Черкассы","Чернигов","Черновцы");
$str = str_replace($chla, $bvu, $text);
 return $str;  
  }

но есть глюки в работе. подскажите как быть. когда переменная $text=20 мне выводит Винница0.

отредактировал.

Автор: KirSSS 26.2.2007, 16:37
Ну вопервых приведи нормальный код.. половина обредано, заканчивается на запятые..

Автор: mishaSL 26.2.2007, 18:27
Самый простой способ в данном случае "развернуть" массивы:
Код

function gorod($text) 
{
    $chla = array("2","3",'4',"5","6","7","8","9","10","11","12","13",'14',"15","16",
                   "17","18","19","20","21",'22',"23","24","25");
    $bvu  = array("Винница","Днепропетровск","Донецк","Житомир","Запорожье","Ивано-Франковск","Киев","Кировоград","Крым",
                   "Луганск","Луцк","Львов","Николаев","Одесса","Полтава","Ровно","Сумы","Тернополь","Ужгород","Харьков",
                   "Херсон","Хмельницкий","Черкассы","Чернигов","Черновцы");
    $str = str_replace(array_reverse($chla), array_reverse($bvu), $text);
    return $str;  
}


Автор: agarheim 27.2.2007, 11:20
заработало так как правильно. спасибо за помощь. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)