Revision: 57893
Updated Code
at June 13, 2012 22:21 by MGHollander
Updated Code
/*
Straatnamen en huisnummer splitsen, hieronder diverse types straatnamen
Bron: http://www.pfz.nl/archief/965267-adres-splitsen-in-straatnaam-en-huisnr/
*/
$straten = array(
'Dorpstraat 2',
'Laan 1933 2', // Ede, Holland
'18 Septemberplein 12', // Eindhoven, Holland
'Kerkstraat 42-f3',
'Saturnusstraat 60-75',
'Kerk straat 2b',
"1, rue de l'eglise",
'42nd street, 1337a',
'1e Constantijn Huigensstraat 9b',
'Maas-Waalweg 15',
'De Dompelaar 1 B',
);
$pattern = '#^([a-z0-9]*) ([0-9]{1,5})([a-z0-9\-/]{0,})$#i';
$pattern = '#^([a-z0-9 [:punct:]\']*) ([0-9]{1,5})([a-z0-9 \-/]{0,})$#i';
$goed = 0;
$fout = 0;
$data = array();
foreach($straten as $straat) {
// Franse adressen, al werkt het niet...
if (preg_match("#^([0-9]),#", $straat)) {
$patternFrans = '#^([0-9]), ([a-z0-9\-/ \']*) ([a-z0-9\-/ ]{0,})#i';
preg_match($patternFrans, $straat, $aMatch);
$straatnaam = $aMatch[2];
$huisnummer = $aMatch[1];
$huisnrtoev = (isset($aMatch[3])) ? $aMatch[3] : '';
} else {
preg_match($pattern, $straat, $aMatch);
$straatnaam = $aMatch[1];
$huisnummer = $aMatch[2];
$huisnrtoev = (isset($aMatch[3])) ? $aMatch[3] : '';
}
$succes = false;
if (empty($straatnaam) || empty($huisnummer)) {
$fout++;
} else {
$succes = true;
$goed++;
}
$data[] = '<div style="background-color: '. ($succes ? 'lightgreen' : 'red') .'">';
$data[] = $straat;
$data[] = 'straat : '. $straatnaam;
$data[] = 'nummer : '. $huisnummer;
$data[] = 'toevoeging : '. $huisnrtoev;
$data[] = '</div>';
}
echo 'Goed: '. $goed . PHP_EOL;
echo 'Fout: '. $fout . PHP_EOL;
echo PHP_EOL;
echo implode(PHP_EOL, $data);
Revision: 57892
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 13, 2012 22:12 by MGHollander
Initial Code
/*
Straatnamen en huisnummer splitsen, hieronder diverse types straatnamen
Bron: http://www.pfz.nl/archief/965267-adres-splitsen-in-straatnaam-en-huisnr/
*/
$straten = array(
'Dorpstraat 2',
'Laan 1933 2', // Ede, Holland
'18 Septemberplein 12', // Eindhoven, Holland
'Kerkstraat 42-f3',
'Kerk straat 2b',
"1, rue de l'eglise",
'42nd street, 1337a',
'1e Constantijn Huigensstraat 9b',
'Maas-Waalweg 15',
'De Dompelaar 1 B',
);
$pattern = '#^([a-z0-9]*) ([0-9]{1,5})([a-z0-9\-/]{0,})$#i';
$pattern = '#^([a-z0-9 [:punct:]\']*) ([0-9]{1,5})([a-z0-9 \-/]{0,})$#i';
$goed = 0;
$fout = 0;
$data = array();
foreach($straten as $straat) {
// Franse adressen, al werkt het niet...
if (preg_match("#^([0-9]),#", $straat)) {
$patternFrans = '#^([0-9]), ([a-z0-9\-/ \']*) ([a-z0-9\-/ ]{0,})#i';
preg_match($patternFrans, $straat, $aMatch);
$straatnaam = $aMatch[2];
$huisnummer = $aMatch[1];
$huisnrtoev = (isset($aMatch[3])) ? $aMatch[3] : '';
} else {
preg_match($pattern, $straat, $aMatch);
$straatnaam = $aMatch[1];
$huisnummer = $aMatch[2];
$huisnrtoev = (isset($aMatch[3])) ? $aMatch[3] : '';
}
$succes = false;
if (empty($straatnaam) || empty($huisnummer)) {
$fout++;
} else {
$succes = true;
$goed++;
}
$data[] = '<div style="background-color: '. ($succes ? 'lightgreen' : 'red') .'">';
$data[] = $straat;
$data[] = 'straat : '. $straatnaam;
$data[] = 'nummer : '. $huisnummer;
$data[] = 'toevoeging : '. $huisnrtoev;
$data[] = '</div>';
}
echo 'Goed: '. $goed . PHP_EOL;
echo 'Fout: '. $fout . PHP_EOL;
echo PHP_EOL;
echo implode(PHP_EOL, $data);
Initial URL
Initial Description
Straatnamen en huisnummer splitsen, hieronder diverse types straatnamen Bron: http://www.pfz.nl/archief/965267-adres-splitsen-in-straatnaam-en-huisnr/
Initial Title
Separate street and number from an address
Initial Tags
number
Initial Language
PHP