Как взорвать строку с почтовым индексом и города, включая диакритические знаки по php
Я хочу разбить строку с помощью почтового индекса и города, например, у меня есть следующие данные:
- 60200 Praha
- 73000 Валашске Мезиржичи
- 641 02 Nové Město nad Metují и др.
Теперь мне нужна переменная $zipcode
с почтовым индексом из строки и $town
переменная с названием города из строки. Пример:
- $ zipcode = 60200, $ town = Praha
- $ zipcode = 73000, $ town = Валашске Мезиржичи
- $zipcode = 641 02, $town = Новое место над Метуей
1 ответ
Регулярное выражение может быть ^(\d{3} ?\d{2}) (.*)$
$inputs = [
'60200 Praha',
'73000 Valašské Meziříčí',
'641 02 Nové Město nad Metují'
];
foreach ($inputs as $row) {
preg_match('~^(\d{3} ?\d{2}) (.*)$~', $row, $matches);
print_r($matches);
// $matches[1] - zipcode
// $matches[2] - city
}