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