Autor Zpráva
Patrik.C
Profil *
Dobrý den,

Chci se zeptat, chci adresu rozdělit zvlášť na ulici a číslo popisné, našel jsem na to
^(.*[^0-9]+) (([1-9][0-9]*)/)?([1-9][0-9]*[a-cA-C]?)$


Bohužel vůbec netuším jak to mám použít, potřebuji z té adresy mít zvlášť ulici a to čp, mohl by mne někdo poradit ?

Děkuji
nightfish
Profil
Za předpokladu, že ten regulární výraz je napsán správně, je použití následovné:
$ulice = "Pražská 25";
if (preg_match('~^(.*[^0-9]+) (([1-9][0-9]*)/)?([1-9][0-9]*[a-cA-C]?)$~', $ulice, $matches)) {
  echo "ulice = ".$matches[1]."<br>c.o. = ".$matches[2];
}


Mimochodem v adresách se velmi často uvádí spíše číslo orientační než číslo popisné - třeba Česká 5, Brno. (5 je číslo orientační, příslušné číslo popisné by bylo 163 - někdy se uvádí "úplný" název ulice s oběma čísly, v tomto případě Česká 163/5)
Patrik.C
Profil *
Děkuji Vám,

funguje to krásně, ale napůl, nějak to nechce vypisovat čp.

V čem může být ještě problém ?
nightfish
Profil
aha, tak ještě
echo $matches[3];
Patrik.C
Profil *
Děkuji,

jede až pod

echo $matches[4];


:-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: