Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Preg_match kod pocztowy
melior
post 5.11.2010, 11:16:10
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 3
Dołączył: 7.12.2009

Ostrzeżenie: (0%)
-----


Witam,

Mam kod, który wyszukuje mi kod pocztowy w formacie XX-XXX
  1. $result = preg_match("(\b\d{2}-\d{3}\b)", $text, $matches);

Chciałbym jednak zmodyfikować go by wyszukiwał też kod pocztowy w formacie XX - XXX

Anyhelp?
Go to the top of the page
+Quote Post
thek
post 5.11.2010, 11:39:44
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ustaw dodatkowo, że pomiędzy blokami cyfr a myślnikiem mogła(ale niekoniecznie musiała) wystąpić spacja. Przyda się znak zapytania, choć to nie jedyny sposób na rozwiązanie tego.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
sazian
post 5.11.2010, 12:19:05
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


(\b\d{2}\s*-\d{3}\b)
chociaż ja bym dał po prostu trim
Go to the top of the page
+Quote Post
markonix
post 5.11.2010, 12:28:24
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(sazian @ 5.11.2010, 12:19:05 ) *
chociaż ja bym dał po prostu trim

Z tym, że trim usuwa spacje z początku i końca stringu.
Jeśli już to raczej str_replace i usunięcie wszystkich spacji.

Zwykle te dane potem idą do bazy, a tam lepiej mieć wszystko w jednym formacie.


--------------------
Go to the top of the page
+Quote Post
kiler129
post 5.11.2010, 12:29:38
Post #5





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Ja jednak podszedlbym do zagadnienia inaczej. Dobrze by było aby teren nie przyjmował kodów typu 99-999 winksmiley.jpg
Ja w swoich projektach używam klasy opartej na tych plikach http://www.mephir.net.pl/resources/kody_pocztowe


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
melior
post 5.11.2010, 13:16:18
Post #6





Grupa: Zarejestrowani
Postów: 68
Pomógł: 3
Dołączył: 7.12.2009

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedź.

@sazian: zmodyfikowałem nieco Twój kod, bo działał w 50% smile.gif
  1. (\b\d{2}\s*-\s*\d{3}\b

Anyway big thanks smile.gif

$trim rzeczywiście nie zadziała się w tym przypadku (choć i tak przepuszczam przez niego tekst). Str_replace dałby radę, ale szkoda dodatkowej pracy, gdy tekst jest dłuższy.

@kiler129:
Dzięki za linka, może się przyda smile.gif Tutaj jednak nie będzie dla niego większego zastosowania. Parsuję teksty, gdzie z założenia są podane poprawne kody pocztowe winksmiley.jpg W każdym razie planuję jeszcze wdrożyć system tłumaczący kod -> nazwa miejscowości, gdyby przypadkiem skrypt nie wyłapał z tekstu nazwy miasta, czy wsi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.05.2025 - 06:51