At 17:17 11.03.2003, André Sannerholt said:
--------------------[snip]--------------------
>If for example
>$variable="Hauptstraße 15";
>
>$variable_string[0] should be "Hauptstraße"
>$variable_string[1] should be "15"
>
>So I need a function that recognizes a number and explodes the variable at
>that very position.
>It's important that the thing also works when $variable="Hauptstraße15";
>without any space. Else it would have been easy to do with the explode
>function...
--------------------[snip]-------------------- 

try a preg_match like (untested):
    if (preg_match('/^\s*([^0-9]*)\s*([0-9].*)\s*$/', $address, $aresult)) {
        $address = $aresult[1];
        $number  = $aresult[2];
    }
    else {
        $address = trim($address);
        $number = null;
    }

Note that preg_match will return false here if no number is available in
$address. Leading and trailing spaces are trimmed from $address and
$number, either by the regular expression, or by the trim() function in
case of a no-match.

Note also that this will fail for US-style addresses like "9th street",
moving everything in $number, leaving $address empty.


-- 
   >O     Ernest E. Vogelsinger
   (\)    ICQ #13394035
    ^     http://www.vogelsinger.at/



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to