Autor | Zpráva | ||
---|---|---|---|
apollon Profil |
#1 · Zasláno: 30. 7. 2008, 19:38:18 · Upravil/a: apollon
Prosím o pomoc. V ručně psaném souboru mám takto napsanou ulici s číslem popisným. Potřeboval bych je rozdělit, abych zkontroloval psč. Byly tam záludnosti, ale dali se vyřešit funkcí preg_replace. U tohoto netuším jak dostat ze vstupních dat výstupní.
vstup: $adresy = array( 'Roztylske nam.67', 'Václavská10', 'Václavská11b', 'Nad Cementárnou 8a' ); výstup 'Roztylske nam.67' ... Array ( [0] => Roztylske nam. [1] => 67 ) 'Václavská10' ... Array ( [0] => Václavská [1] => 10 ) 'Václavská11b' ... Array ( [0] => Václavská [1] => 11 [2] => b) 'Nad Cementárnou 8a' ... Array ( [0] => Nad Cementárnou [1] => 8 [1] => a ) |
||
apollon Profil |
#2 · Zasláno: 30. 7. 2008, 20:01:45
stačí mě navést na funkci, která najde v řetězci "xxx555" 555
|
||
Kcko Profil |
#3 · Zasláno: 30. 7. 2008, 20:49:18
preg_match("~(\d+)~", $token, $out);
|
||
apollon Profil |
#4 · Zasláno: 30. 7. 2008, 21:05:43
preg_match("~(\d+)~", $token, $out);
teď mi to háže problémy s češinou (mám utf8) a nerozdělí to tak jak potřebuji. |
||
peta Profil |
#5 · Zasláno: 31. 7. 2008, 08:16:43 · Upravil/a: peta
apollon
http://cz.php.net/preg_match http://cz.php.net/manual/en/regexp.reference.php http://cz.php.net/manual/en/reference.pcre.pattern.modifiers.php google preg_match token tak to mas spatne nastavene kodovani ale ty v php, ten reg. vyraz by na to nemel mit vliv, protoze preg_match("~(\d+)~", $token, $out); \d+ = opakovani cisla ~ jsem nedohledal, ale to je tim, ze se to spatne hleda googlem :) kazdopadne se tam nikde neresi diakritika, takze by to mohlo byt ok. zkus treba zmenit header() na utf a totez s kodovanim toho php souboru. |
||
apollon Profil |
#6 · Zasláno: 31. 7. 2008, 12:02:11
ok. Tak jsem to udělal takto, najít výraz do výskytu čísla a uložit do $out.
V $out přidat backslash a dát ho jako patterns do preg_replace. Pak už v $adresa zbyde č.p. případně o.č. preg_match("~(\D+)~", $adresa, $out); $out[1]='/'.$out[1].'/'; $adresa = preg_replace($out[1], '', $adresa); Děkuji za rady. :-) |
||
Časová prodleva: 16 let
|
0