Определение и склонение городов по падежам

Иногда требуется не просто определить город зашедшего на сайт человека, но и встроить его в предложение в нужном падеже, например: "создание сайтов в Москве", а не "в Москва".

В данной теме определим город посетителя по его IP-адресу, а затем сравним с файлом данных csv для получения нужного падежа.

PHP:

Немного о коде:
  • Определяем через сервис ip-api.com город посетителя. Подробнее об этом сервисе можно прочитать в теме про геолокацию на PHP
  • Создаем массив, из которого будем выводить названия, если в файле данных не нашелся город.
  • Ищем в этом файле название города по первому столбцу (именительный падеж) и если нашли, то перезаписываем массив.
  • Присваиваем для каждого падежа свою переменную, которую потом выводим в любом месте документа
Скачать файл данных:

city.csv

Он используется в коде

city.xlsx

Альтернативный вариант для удобства редактирования

Таблица с падежами и выводом:

Падеж Слово Результат Вывод
Именительный есть Россия echo "$city_1";
Родительный нет России echo "$city_2";
Дательный рад России echo "$city_3";
Винительный вижу Россию echo "$city_4";
Творительный любуюсь Россией echo "$city_5";
Предложный думаю о России echo "$city_6";
Предложный нахожусь в России echo "$city_7";

Файл данных с падежами найден в интернете и может содержать опечатки и неточности

Аналогичным образом в него можно добавить дополнительные столбцы, например, адрес, телефон, координаты карты и т.д.

Смотрите также:

Геолокация на PHP

Определение координат и другой информации по IP адресу, реализованное на PHP

Добавить комментарий:

Ваш комментарий отправлен!