<?php
$test_data = [
"55.7558 37.6173", // Координаты через пробел
"55.7558, 37.6173", // Координаты через запятую с пробелом
"55.7558,37.6173", // Координаты через запятую без пробела
"Москва, ул. Тверская, 7", // Адрес на русском языке
"ул. Ленина, д. 10, Санкт-Петербург", // Другой адрес
"г. Казань, ул. Баумана, д. 15", // Адрес с указанием города
"Москва123", // Некорректный адрес с цифрами
"56.8498 abc" // Некорректные координаты с текстом
];
foreach ($test_data as $row) {
// Ваш код для обработки строки
if (!is_null($row)) {
$address = trim($row);
$coordinates = preg_split('/[\s,]+/', $address);
// Проверка на валидность координат
if (count($coordinates) == 2 && is_numeric($coordinates[0]) && is_numeric($coordinates[1])) {
$address = ['latitude' => (float)$coordinates[0], 'longitude' => (float)$coordinates[1]];
echo "Координаты: ";
print_r($address);
} else {
// Проверка на русский текст в адресе
if (!preg_match('/^[а-яА-ЯёЁ\s,\.0-9]+$/', $address)) {
echo "Некорректный адрес или данные: " . $address . "\n";
} else {
echo "Адрес: " . $address . "\n";
}
}
}
}