Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyszukiwanie wzorca w tekście
Compiler
post 9.02.2010, 18:35:21
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 11.11.2006

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


Witam,

Potrzebuję skrypt, który znajdzie w pliku tekstowym kod pocztowy np. 12-600 i nazwie tak plik z którego go odczytał.
Problem mam taki, że nie wiem jak znaleźć i wyciąć ten kod pocztowy?
Go to the top of the page
+Quote Post
Blame
post 9.02.2010, 18:41:40
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


To było tylko kilka chwil szukania w google:
  1. $kod = '22-100';
  2. preg_match('/^[0-9]{2}[-][0-9]{3}$/', $kod, $wynik);
  3. print_r($wynik);


Ten post edytował Blame 9.02.2010, 18:42:05


--------------------
Go to the top of the page
+Quote Post
Compiler
post 9.02.2010, 18:48:07
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 11.11.2006

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


To ma być dowolny kod, a nie jakiś konkretny.
Go to the top of the page
+Quote Post
PiotrekM
post 9.02.2010, 19:02:09
Post #4





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

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


to wytnie Ci kod o wzorze: xx-xxx
x - dowolna liczba

Ten post edytował PiotrekM 9.02.2010, 19:02:27
Go to the top of the page
+Quote Post
piotrooo89
post 9.02.2010, 19:02:59
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




no ale w czym problem. no i polecam użyć preg_match_all.


--------------------
Go to the top of the page
+Quote Post
Compiler
post 9.02.2010, 23:22:14
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 11.11.2006

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


  1. $plik = fopen($file, "r");
  2. while(!feof($plik)){
  3. $linia = fgets($plik);
  4. if (preg_match('/[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}/', $linia, $wyniki)){
  5. echo $wyniki[0] ;
  6. }
  7. }
  8. }


Niech ktoś mnie oświeci dlaczego to nie działa?
Dodam, iż gdy zrobię:
  1. if (preg_match('/[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}/', '111-111-11-11', $wyniki)){
  2. echo $wyniki[0] ;
  3. }

To wszystko jest OK. Gdy chcę wypisać poszczególne linie dostaję krzaki w przeglądarce.
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: 17.05.2025 - 08:28