Goedemiddag,
Voor de controle van reeds bestaande adresgegevens in een database, wil ik graag ingevoerde adresgegevens (met name postcode/huisnummer/toevoeging) zoveel mogelijk standaardiseren bij opslaan in de database.
Omdat de gegevens in allerlei verschillende vormen worden opgeslagen, maak ik een aparte tabel die puur voor de controle van dubbele gegevens dient. In deze tabel zijn de opgeslagen gegevens derhalve beperkt tot die informatie die nuttig is voor controle. Zoals gezegd is dat in eerste instantie postcode/huisnummer/toevoeging.
Met betrekking tot het 'toevoeging' gedeelte zou ik graag even wat feedback krijgen. Mijn functie voor validatie van de toevoeging, is nu ongeveer als volgt:
Zijn er nu belangrijke manieren waarop een toevoeging kan worden gegeven, die ik nu over het hoofd zie?
Voor de controle van reeds bestaande adresgegevens in een database, wil ik graag ingevoerde adresgegevens (met name postcode/huisnummer/toevoeging) zoveel mogelijk standaardiseren bij opslaan in de database.
Omdat de gegevens in allerlei verschillende vormen worden opgeslagen, maak ik een aparte tabel die puur voor de controle van dubbele gegevens dient. In deze tabel zijn de opgeslagen gegevens derhalve beperkt tot die informatie die nuttig is voor controle. Zoals gezegd is dat in eerste instantie postcode/huisnummer/toevoeging.
Met betrekking tot het 'toevoeging' gedeelte zou ik graag even wat feedback krijgen. Mijn functie voor validatie van de toevoeging, is nu ongeveer als volgt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| /** * Validates the given (string) $value as a valid housenumber suffix: * - If the suffix contains non alphabet-chars or digits, these are removed. * - If the suffix is given in roman numerals (i-x), then the int value is * calculated. * - If the suffix contains 'rd', 'rood', 'zw', 'zwart' or the like, then * the suffix is returned as 'rood' cq. 'zwart' as lowercase string. * - If the suffix contains 'a', 'b', etc, then the suffix is returned in * lowercase. * * Returns the string value of the housenumber suffix if it could be * successfully validated. * Returns an empty string if no valid suffix could be extracted from the * given string. * * @param string $value The value to validate as house number suffix. * @param bool [$apoh] (As Part Of Housenum) the housenumber is given * and the the suffix should be distilled from it. * @return string validated suffix. * @access protected */ protected function _validateHousenumSuffix($value, $apoh = false) { global $d; if ( $apoh ) { $housenum = strval(intval($value)); $value = substr($value, strlen($housenum)); } $matches = null; if ( !preg_match('/([0-9a-zA-Z]){1,10}/', $value, $matches) ) { return ''; } $value = trim(strtolower(strval($matches[0]))); // If $value is a number, return the number. if ( strval(intval($value)) === strval($value) ) return strval(intval($value)); // Translate rood/zwart if ( $value == 'rd' || $value == 'rood' ) return 'rood'; if ( $value == 'zw' || $value == 'zwart' ) return 'zwart'; // Translate Roman Numerals. if ( $value == 'x' ) return '10'; if ( $value == 'ix' ) return '9'; if ( $value == 'viii' ) return '8'; if ( $value == 'vii' ) return '7'; if ( $value == 'vi' ) return '6'; if ( $value == 'v' ) return '5'; if ( $value == 'iv' ) return '4'; if ( $value == 'iii' ) return '3'; if ( $value == 'ii' ) return '2'; if ( $value == 'i' ) return '1'; // All other cases: return the lowercased value. return $value; } // _validateHousenumSuffix() |
Zijn er nu belangrijke manieren waarop een toevoeging kan worden gegeven, die ik nu over het hoofd zie?