Pogledajte određenu poruku
Staro 22. 09. 2014.   #7
Bojsi
član
Certified
 
Datum učlanjenja: 24.01.2007
Poruke: 92
Hvala: 1
687 "Hvala" u 15 poruka
Bojsi is on a distinguished roadBojsi is on a distinguished roadBojsi is on a distinguished roadBojsi is on a distinguished roadBojsi is on a distinguished roadBojsi is on a distinguished road
Default

Potrebna mi je jos jedna pomoc ako moze, problem se nadovezuje:

Pravim neki mini template sistem (za sopstvene potrebe) gde imam tagove u stilu:

Kd:
<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:

Kd:
<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 kd:
$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:

Kd:
"|\<php:(.*?)\>(.*?)\</php:\\1\>|e";
ali ne znam gde to da postavim?

Hvala jos jednom.
Bojsi je offline   Odgovorite uz citat
102 članova zahvaljuje Bojsi za poruku:
aaleragail, acheaplv, acheapnew, achelmeyerneilk, aczapiewskshain, aeprocaccnath, alatchawsteve, allen4jim, alovermannmiche, anorthfacemens, ardgraafwilfo, aringascarl, aschoonovemaked, cbuynecklaces, celebritybrautk, cellocchiwino, ceszucheldr, cstorecanada, cteciuccihenr, dorflesnersalva, dtepfundtvicen, eabuechersophi, eangeruth, eclawgesrayf, ecoervergabr, econeclar, edressesgreen, ejerseynfl, elionemilo, ellpollettmaxwe, encasteranto, eoulterjord, epromdesigns, erexk, ershauerbric, esalenike, eskuhlemarco, garkingtarah, iaidimarc, ichristianheels, idvddisney, ihybhatiatimot, iiantanidamarcp, inejennieroxan, ioltmeierlynd, ipluvoisestep, istriblingmoshe, iyuriciclave, jsenajelia, kmcvickermarj, ksaajokuthere, ktrackeisid, larholburt, ldoduchschreyna, lemosellerobbi, linmonclerblack, lriedldonn, lvaubelyoung, menicomeodett, nbereznycedr, nenningmick, nielbarrinnatha, nilvanodust, nincenorah, nkemaneddi, nnaellanknatha, nnvalentasun, nohlingjeni, norbinshan, nsveentreva, nurdinmitc, obertoerro, ocintoyongs, okristoffflor, olmilhoanhers, orangnowshaun, ottleroehugo, pcheapface, prdpala, rdemarckris, rdheminovemayna, redmonstonwarne, renmorebufo, rggierijaco, rheldermajuli, rlamryan, rlmaherrusse, rrymerjaci, rslerkimp, ruhnerrenek, sairdiscount, semerssonn, srdbaisesanfo, ssourstyson, syerssand, tatttobi, twaratmarc, uolyneuxmarc, vienvert, waskiewichowa, wholesalephones, yrleyange