zhdoon
@zhdoon
Директор музея

Как сопоставить города из базы php geoip с их названиями на русском языке?

Речь про библиотеку php.net/manual/ru/book.geoip.php Передав IP в функцию geoip_record_by_name('123.10.28.1') мы среди прочего получаем данные о городе, который соответствует данному IP в виде saratov, например. У меня есть набор из названий 20 российских городов на русском языке и мне нужно сопоставить их названия с тем, что я получаю через GeoIP. Т.е., например, Ярославль -> Yaroslavl, Москва -> Moskva (или Moscow), ... Как точно узнать названия этих 20 городов (а лучше всех) на английском именно в той форме, как они хранятся в GeoIp?
  • Вопрос задан
  • 830 просмотров
Пригласить эксперта
Ответы на вопрос 2
VELIK505
@VELIK505
Руководитель департамента profitcentr.com
Ну я основные разобрал которые посчитал более нужными:
<?
$gorod_arr = array(

  //Россия
  1  => array('moscow','Москва'),
  2  => array('sankt-peterburg','Санкт-Петербург','saint petersburg'),
  3  => array('velikiy novgorod','Великий Новгород'),
  4  => array('orenburg','Оренбург'),
  5  => array('yekaterinburg','Екатеринбург','ekaterinburg'),
  6  => array('krasnoyarsk','Красноярск'),
  7  => array('novosibirsk','Новосибирск'),
  8  => array('chelyabinsk','Челябинск'),
  9  => array('cherepovets','Череповец','cherepovetz'),
  10 => array('vologda','Вологда'),
  11 => array('nizhnii novgorod','Нижний Новгород','nizhniy novgorod'),
  12 => array('samara','Самара'),
  13 => array('kazan','Казань'),
  14 => array('krasnodar','Краснодар'),
  15 => array('perm','Пермь'),
  // доп город Жуковскйй россия
  16 => array('zhukovskiy','Жуковский'),

  //Украина
  21  => array('kiev','Киев'),
  22  => array('kharkiv','Харьков'),
  23  => array('odessa','Одесса'),
  24  => array('lvov','Львов'),
  25  => array('mariupol','Мариуполь'),
  26  => array('dnepropetrovsk','Днепропетровск'),
  27  => array('poltava','Полтава'),
  28  => array('zaporozhye','Запорожье','zaporizhzhya'),
  // доп город Житомир украина
  29  => array('zhytomyr','Житомир'),

  //Грузия
  41  => array('tbilisi','Тбилиси'),
 // Этот вообще убираем 42  => array('','Кутаиси'),
  42  => array('batumi','Батуми'),
// Этот тоже убираем вообще  44  => array('','Гори'),

  //Казахстан
  51  => array('almaty','Алма-Ата'),
  52  => array('astana','Астана'),
  53  => array('karaganda','Караганда'),

  //Молдавия
  61  => array('chisinau','Кишинев'),
  62  => array('tiraspol','Тирасполь'),
  // Меняем на Бендеры 63  => array('','Тигиня'),
  63  => array('bendery','Бендеры'),

  //Белоруссия
  71  => array('minsk','Минск'),
  72  => array('gomel','Гомель'),
  73  => array('grodno','Гродно'),
  74  => array('mogilev','Могилев'),
  75  => array('vitebsk','Витебск'),
  76  => array('brest','Брест'),

  //Азербайджан
  81  => array('baku','Баку','baki'),

  //Латвия
  91  => array('riga','Рига'),
  92  => array('daugavpils','Даугавпилс'),
  93  => array('liepaja','Лиепая'),
  // Меняем на Вентспилс 94  => array('','Юрмала'),
  94  => array('ventspils','Вентспилс'),

  //Армения
  101  => array('yerevan','Ереван','erevan'),
  // Меняем на Аштарак 102  => array('','Гюмри'),
  102  => array('ashtarak','Аштарак'),
  // Меняем на Абовян 103  => array('','Ванадзор'),
  103  => array('abovyan','Абовян'),

  //Америка (США)
  111  => array('new york','Нью-Йорк'),
  112  => array('los angeles','Лос-Анджелес'),
  113  => array('chicago','Чикаго'),
  114  => array('houston','Хьюстон'),
  115  => array('kansas city','Канзас'),
  116  => array('philadelphia','Филадельфия'),
  // доп город Сан-Хосе США
  117  => array('san jose','Сан-Хосе'),

  //Канада
  // Меняем на Эдмонтон  121  => array('','Ванкувер'),
  121  => array('edmonton','Эдмонтон '),
  122  => array('montrйal','Монреаль'),
  123  => array('winnipeg','Виннипег'),
  // Меняем на Китченер 124  => array('','Калгари'),
  124  => array('kitchener','Китченер'),

  //Италия
  131  => array('milan','Милан'),
  132  => array('rome','Рим'),

  //Израиль
  141  => array('tel aviv','Тель-Авив'),
  142  => array('haifa','Хайфа'),

  //Эстония
  151  => array('tallinn','Таллин'),
  152  => array('narva','Нарва'),

  //Чехия
  161  => array('prague','Прага'),

  //Франция
  171  => array('paris','Париж'),

  //Бельгия
  181  => array('brussels','Брюссель'),

   // новый город Ташкент Узбекистан (Uzbekistan (uz))
  191  => array('tashkent','Ташкент'),

     // новый город Лондон Англия (United Kingdom (gb))
  201  => array('london','Лондон'),

  // новый город Амстердам Нидерланды (Netherlands (nl))
  211  => array('amsterdam','Амстердам'),

    // новый город Бишкек Киргизия (Kyrgyzstan (kg))
  221  => array('bishkek','Бишкек'),

     // новый София город Болгария (Bulgaria (bg))
  231  => array('sofia','София'),

       // новый города Германия (Germany (de))
  241  => array('berlin','Берлин'),
  242  => array('frankfurt','Франкфурт'),
  243  => array('hamburg','Гамбург'),

         // новый страна (её вообще нет в таргете) и новый город Австралия (Australia (au))
  251  => array('sydney','Сидней'),
);
Ответ написан
Комментировать
dmitriylanets
@dmitriylanets
веб-разработчик
создать базу соответсвий, получив данные уже подгонять под свой формат у себя
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы