Autor Zpráva
Jakuje
Profil
Dobrý večer,
zase se jednou po delší době ozývám, když si nevím rady. :)

V php manuálu jsem narazil na rekurzivitu regularních výrazů:
http://cz.php.net/manual/cs/reference.pcre.pattern.syntax.php

Popis existuje pouze v angličtině a je k tomu minimum příkladů. Proto bych se chtěl zeptat, jestli se již někdo nesetkal s podobným tématem a netuší jak a co provádět.
Pokud by se mi povedlo tímto způsobem zkonstruovat výraz pro parsování šablon (konkrétně jde o podmínky), výrazně by mi to usnadnilo práci a splnino jinak témšř nemožný cíl - vnořené podmínky. Pokud bych používal normální preg_replce, musel bych identifikovat jednotlivé koncové závorky, což není moc elegantní.

Zjednodušený příklad:

Řetězec pro zpracování:
neco neco nic [IF(ahoj == ahoj):(ok, [IF(neco == ahoj):(neco je ahoj)])else:(neni)]

Samostatné zpracování všecho ostatního již mám, ale nyní potřebuju regulární výraz který bude schopen vysekat z tohoto příkladu jednotlivé podmínky. A pokud bude někdo tak ochotný a přidá stručný (čím více tím lépe samozřejmě) komentář, tak budu rád.

Děkuji, Jakuje
Jakuje
Profil
Tak to je pěkný ...
Dva dny tu mám příspěvek a žádná odpověď. To asi nebude moc oblíbené téma ...

Pokud o tomto tématu cokoliv víte, napište. Díky.
krteczek
Profil
spíše bych na to šel jinak. Nejprve bych si stanovil nějakou sekvenci znaků a do ní uložil potřebný php kod
kdekoliv v textu {{!!můj php kód!!}} a potom jen:
preg_replace_callback($vzor, funkce_která_ho_zpracuje, $vstupníText);
a potom ve funkci pro konkrétní případ použít eval(), přičemž samotný kód je v array, první [0]) položka je včetně značek a druhá [1] je čistě obsah mezi...
nutnost je zajistit bezpečnost použití šablon aby to někdo neprohackoval
thingwath
Profil
Já tedy doufám, že s tímhle se moc lidí nesetkalo, protože používat pro tenhle typ úloh regulární výrazy… no.
Jakuje
Profil
thingwath
Tak poraď jak to vyřešit jinak.

krteczek
njn. Je to takový divný ... ještě možná vymyslíme něco kompletně jinýho. Ale nemám na to moc času.
Ono nejde moc o zpracování php kódu, ale hlavně aby se provedly podmínky se zadanou syntaxí. Dá se to zpracovávat i už v tom reguláru (jak jsem se dočetl).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0