<?php
function splitStreetNameNumber($str) {
$str = trim($str);
$t = @preg_split('/[0-9]+/', $str);
if (0 >= strlen($str) || 0 >= strlen(trim($t[0]))) {
return false;
}
return array(
'name' => trim($t[0]),
'num' => trim(str_replace(trim($t[0]), '', $str)),
);
}
$a = array(
'Karlstr. 2',
'12345',
'Karl Straße 2d',
'Karlsplatz 14 a',
'',
'Karlsplatz',
);
foreach($a as $b) {
$c = splitStreetNameNumber($b);
if (!$c) {
echo 'Not a valid address.' . PHP_EOL;
}
else {
print_r($c);
}
}
preferences:
46.23 ms | 402 KiB | 5 Q