Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PCRE - parsowanie string'a
piotrooo89
post
Post #1


Newsman


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




hej,

mam lekki problem z regexp'ami, do rzeczy. mam takie stringi (możliwości):

Kod
jeden+"+test"+dwa
jeden+"test+"+dwa
jeden+"te+st"+dwa


i teraz chce "porozbijać" te ciągi względem znaku +, wynik:

Kod
jeden; "+test"; dwa
jeden; "test+"; dwa
jeden; "te+st"; dwa


oczywiście te rozbicia maja być tablicą otrzymana przez preg_split.


stworzyłem takie wyrażenie:

Kod
#((?<!")\+)|(\+(?!(.*)"))#si


niestety dopasowuje mi tylko do pierwszego ciągu:

Kod
jeden; "+test"; dwa


pozostałe dwa nie parsują się poprawnie, jakiejś sugestie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Niktoś
post
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Ciężka sprawa bo praktycznie nie ma separatora, nie można użyć + brak odstępów,(") też za bardzo nie można użyć ,myśle o indexOf po + jechać ale też nie za bardzo bo słowo te+st rozdzieli.
Nic innego tylko zaawansowana funkcja.Wydaje mi się ,że samym regexpem czy fgetcsv tego nie zrobisz.
Ale fajna zagadka,pomyśle nad nią jutro.

Ten post edytował Niktoś 1.03.2012, 21:47:25
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: 12.10.2025 - 02:35