Potrebna mi je jos jedna pomoc ako moze, problem se nadovezuje:
Pravim neki mini template sistem (za sopstvene potrebe) gde imam tagove u stilu:
Kôd:
<php:ime_kontrole>...</php:ime_kontrole>
Kada se procita ovo
ime_kontrole, ja izrenderujem tu kontrolu i onda dalje obradjujem njene child kontrole.
Unutar tagova za kontrolu, mogu se nalaziti i tagovi za svojstva (property).
Ceo primer:
Kôd:
<property name="title">Ovo je pravi naslov</property>
<php:button>
<property name="title">Ovo je pogresan naslov</property>
<property name="styleClass">test</property>
</php:button>
Kao sto vidite, imam jednu ugnjezdenu kontrolu (button) i ona opet ima svoje propertije.
I koristim sledeci (PHP) kod da obradim propertije:
PHP kôd:
$patterns[] = "|\<property name=\"(.*?)\"\>(.*?)\</property\>|e";
$replaces[] = "\$this->setProperty($1, \"$2\");";
$value = preg_replace($patterns, $replaces, $value);
Medjutim, ovde opet nastaje problem jer ce mi obrada "pokupiti" i propertije unutar button kontrole, sto je nepozeljno. Dakle, zelim da parser ne "zalazi" u <php:ime_kontrole> tagove (bilo kog nivoa).
Verovatno treba da iskljucim grupu koju koristim za "citanje" tagova za kontrole:
Kôd:
"|\<php:(.*?)\>(.*?)\</php:\\1\>|e";
ali ne znam gde to da postavim?
Hvala jos jednom.