Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyrażenie regularne
arzach
post 18.08.2011, 21:09:43
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
mortus
post 18.08.2011, 21:24:26
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Może tak:
  1. preg_match_all("/<CALL:[0-9]+>(.*?)\040</", $dane[$i], $new_array[$i]['band'], PREG_PATTERN_ORDER);

Powinno wyciągnąć to co chcesz, nawet bez spacji.

EDIT:
Chyba, że to nie spacja, to wtedy:
  1. preg_match_all("/<CALL:[0-9]+>(.*?)\s</", $dane[$i], $new_array[$i]['band'], PREG_PATTERN_ORDER);


Ten post edytował mortus 18.08.2011, 21:28:51
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 19:56