$cleaned = preg_replace('/[вс]\s+\d{1,2}:\d{2}(?:—\d{1,2}:\d{2})?\s*/u', '', $cleaned);
// Убираем служебные фразы, которые не являются адресом
- $cleaned = preg_replace('/Уточните\s+адрес\s+доставки\s+у\s+получателя/ui', '', $cleaned);
+ $cleaned = preg_replace('/Уточните\s+\S+\s+доставки\s+у\s+получателя/ui', '', $cleaned);
$cleaned = preg_replace('/Отправим\s+смс\s+получателю.*$/ui', '', $cleaned);
$cleaned = preg_replace('/Пожалуйста.*сохранить\s+сюрприз/ui', '', $cleaned);
$cleaned = preg_replace('/чтобы\s+узнать\s+данные\s+для\s+доставки/ui', '', $cleaned);
$city = $parts[0];
}
+ // Защита: house не может быть длиннее 16 символов (ограничение БД)
+ if (mb_strlen($house) > 16) {
+ $house = mb_substr($house, 0, 16);
+ }
+
switch (mb_strtolower($city)) {
case 'нижний новгород':
$latitude = 56.3269;