Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyrażenie regularne
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Mam taki ciąg

Kod
<DISTANCE:6>476.96 <BAND:3>80M <CALL:6>SP3JNV <COMMENT:8>SP8PRL/8 <CONT:2>EU <EOR>


i jak napisać wyrażenie regularne by wyciągnąć wartość call
Obecnie mam taki kod
  1. preg_match_all("/<CALL:[0-9]+>(.*)</", $dane[$i], $new_array[$i]['band'], PREG_PATTERN_ORDER);


Działa ale nie do końca ponieważ wyciąga wszystko od <CALL:6> do końca wystąpienia < czyli

Kod
SP3JNV <COMMENT:8>SP8PRL/8 <CONT:2>EU <


A potrzebuje do pierwszego wystąpienia znaku < po (.*)

Mam nadzieje ze rozumiecie i ktoś będzie w stanie mi pomóc .

Ten post edytował arzach 18.08.2011, 21:09:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arzach
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Przecież mówię ze nie działa plik ma parę tysięcy wierszy
Kod
<DISTANCE:6>288.28 <BAND:3>80M <CALL:8>SP9HTY/9 <CONT:2>EU <CQZ:2>15  

<DISTANCE:6>237.05 <BAND:3>80M <CALL:8>SP6JQF/7 <CONT:2>EU <CQZ:2>15

<DISTANCE:6>288.28 <BAND:3>80M <CALL:8>SP9HTY/9 <CONT:2>EU <CQZ:2>15  

<DISTANCE:6>237.05 <BAND:3>80M <CALL:8>SP6JQF/7 <CONT:2>EU <CQZ:2>15

<DISTANCE:6>288.28 <BAND:3>80M <CALL:8>SP9HTY/9 <CONT:2>EU <CQZ:2>15  

<DISTANCE:6>237.05 <BAND:3>80M <CALL:8>SP6JQF/7 <CONT:2>EU <CQZ:2>15


I wyrażenie
  1. preg_match_all("/<CALL:[0-9]+>(.*?)\040</", $dane[$i], $new_array[$i]['call'], PREG_PATTERN_ORDER);


Działa prawie dobrze ale czasami zdarza się ze doda
Kod
SP9HTY/9 <CONT:2>EU <CQZ:2>15 <DXCC:3>269 <FREQ:8>3.703000 <
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 02:12