- substr: documentation ( source)
- preg_match_all: documentation ( source)
- trim: documentation ( source)
- strrpos: documentation ( source)
- array_pop: documentation ( source)
<?php
$address = '5e Dorpsstraat 5-B';
$matchArr = array();
preg_match_all('/(\d+)/', $address, $matchArr);
$houseNumber = array_pop($matchArr[0]);
// strrpos om problemen te voorkomen bij straatnamen zoals 151th Avenue 151
$houseNumberStartPos = strrpos($address, $houseNumber);
$streetName = substr($address, 0, $houseNumberStartPos);
// Verwijder whitespace bij correcte notatie, geen -1 op strrpos voor foute notatie.
// Voorbeeld Dorpsstraat 12 (correct), Dorpsstraat12 (incorrect).
$streetName = trim($streetName);
$houseNumberAdd = substr($address, ($houseNumberStartPos + strlen($houseNumber)));
print $streetName . "\n";
print $houseNumber . "\n";
print $houseNumberAdd;