Hey ik ben bezig om een template parser te maken en daarom wilde ik <!-- loop * --!> gebruiken om code te herhalen, ik heb geprobeert regex te gebruiken maar dan wordt er maar op 1 regel gezocht :

Dit is de code die ik nu heb
<!-- loop(.*)!-->
Ok, ik weet nu dat het mogelijk is om string als 1 line te gebruiken, in Regex coach lukt me dat dan nog wel, maar hoe gaat dat in PHP ?

<!-- loop (.*)!-->
Ik ben zelf ook al weet een tijdje bezig met een template parser (oude versie):

http://www.phphulp.nl/php/scripts/5/320/

In de nieuwe versie komen ook regular expressions. Ik gebruik {!-- --} voor kommentaar in templates. Hier zijn een paar patterns:

<?php
// Template kommentaar {!-- --}:
preg_match_all( "/{![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)}/", $c, $m_search );

// Html kommentaar <!-- -->:
preg_match_all( "/\<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*[^\/\/]--[ \r\n\t]*)\>[\r\n]/", $c, $m_search );

// Javescript comments <!-- //-->:
preg_match_all( "/\<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*\/\/--[ \r\n\t]*)\>/", $c, $m_search );

?>

Deze patterns doen het wel aardig. Ben zelf beginner hierin dus ik heb een beetje afgekeken ;d

Overigens bij mij geef je een loop zo aan:
{lijstje!}
naam: {.naam}
achternaam: {.achternaam}
{;}
Ok, ik had zelf al het goede al geprobeerd maar regex choach werkt anders dan die in php (niet Perl compatible denk ik) maar dit werkt bij mij goed :
preg_match("#\<!-- loop(.*?)\!-->#si", $this->output, $a);

Reageren