Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> reg exp
Ace
post
Post #1





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

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


Kod
$string = '
cos
{if $i == "5"}
zawartosc 1a
        {if}
                zawartosc 2
        {/if}

zawartosc 1b

{/if}

cos2...
{if 3}
aerg
{/if}
';

Mam podany ciag znakow. Chcialbym dobrac sie do kazdego ze znacznikow od srodka. czyli wpierw
Kod
        {if}
                zawartosc 2
        {/if}

pozniej
Kod
{if $i == "5"}
zawartosc 1a
        {if}
                zawartosc 2
        {/if}

zawartosc 1b

{/if}

a nastepnie
Kod
{if 3}
aerg
{/if}


Problem dla mnie nie jest latwy, nie jestem najlepszy z wyrazen.

Mój pattern:
Kod
/\{([a-z]{1,})( (.*?))?\}([^\{].+?)\{\/\\1\}/is

O co chodzi... Wykombinowalem ze wyrazenie ma znalezc {...}{/...} w ktorym moga wystepowac parametry i wartosci czyli np {... id="4"} jakis text {/...} lecz najpierw chce sie dobrac od srodka blokow - nie pytajcie sie czemu. Wiec napisalem wyrazenie ktore pasuje do {...}{/...} oraz moga wystepowac parametry i wartosci i jest super, lecz w wartosciach chce zablokowac wystapienie "{" ... probowalem wyelminowac caly blok {...}...{/...} ale nie udalo mi sie napisac wyrazenia.

Nie wiem czy dobrze wytlumaczylem sytuacje, mysle ze tak. W razie watpliwosci prosze pytac - problem jest dosc trudny jak dla mnie.

Ten post edytował Ace 4.01.2005, 09:21:18
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 Aktualny czas: 19.08.2025 - 07:08