[php] Problem z wyrażeniem PCRE - pierwsze wystapienie

Odpowiedz Nowy wątek
2006-04-05 14:21
0

Witajcie,
mam problem, mam poniższe wyrażenie (PCRE) które nie działa jak należy...
/{\$(.*)}/
Gdy wpiszę {$foo}{$bar} to \1 przyjmuje wartosc foo}{$bar. Co zrobic aby znalezc pierwsze wystapienie } ??
Dzieki


Z chęcią pomogę :)

Pozostało 580 znaków

2006-04-05 15:31
0

.*? ;)


SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Pozostało 580 znaków

2006-04-05 19:45
0

Witajcie,
znowu mam problem z wyrazeniem PCRE:

$warunek = '$r!=2';
$warunek = preg_replace('/\$(.*?)/', '$this->_vars[\'\1\']', $warunek);

Niestety nie działa... Powstaje:

$this->_vars[""]r!=2

Pomozecie?


Z chęcią pomogę :)

Pozostało 580 znaków

2006-04-05 19:46
0

Ale napisz co chcesz osiągnąć, bo '/\$(.?)/' zawsze znajdzie tylko '$' gdyż po .? nie ma nic, więc .*? dopasuje ciąg pusty.


Pozostało 580 znaków

2006-04-05 20:04
0

Otóż chcę aby zmienne np. $r były zamieniane na $this->_vars['r']
Niestety nigdy nie korzystałem z PCRE tylko z POSIX (PCRE jest lepsze do pisania systemu szablonów a la Smarty)....


Z chęcią pomogę :)

Pozostało 580 znaków

2006-04-05 20:30
0

spróbuj tak

$warunek = preg_replace('/\$(\w+)/', '$this->_vars[\'\1\']', $warunek);

Pozostało 580 znaków

2006-04-05 23:15
0
amadeusz.jasak napisał(a)

[...] do pisania systemu szablonów a la Smarty)....
A co jest zlego w Smarty ze nie mozesz go uzywac??
Tez sie kiedys zastanawialem nad wlasnym systemem templatow, ale doszedlem do wniosku ze to gra niewarta swieczki. Smarty jest poteznym narzedziem, wiec czemu go nie <ort>wykozystywac</ort>?? Jesli nie odpowiednich mozliwosci mozna bez problemu go rozbudowac do naszych potrzeb, lub w miare potrzeb zablokowac rozne tagi (np {php} zeby zabardzo nikt nie namieszal jesli chcemy to <ort>wykozystac</ort> jako skin)

Przy wlasnym pisaniu nie osiagniesz takich mozliwosci, przynajmniej nie tak latwo.
Czy Twoj system rozpozna taka skladnie??
($z1+$z2*($tab.element - $tab[$z3+2])!="koszt 22$") :>


SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0