regex in meerdere lijnen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark van Veen

Mark van Veen

03/04/2005 21:01:00
Quote Anchor link
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(.*)!-->
 
PHP hulp

PHP hulp

06/05/2024 07:19:10
 
Mark van Veen

Mark van Veen

03/04/2005 21:12:00
Quote Anchor link
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 (.*)!-->
Gewijzigd op 03/04/2005 22:00:00 door Mark van Veen
 
Martijn B

Martijn B

03/04/2005 21:18:00
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
{lijstje!}
naam: {.naam}
achternaam: {.achternaam}
{;}
Gewijzigd op 03/04/2005 21:23:00 door Martijn B
 
Mark van Veen

Mark van Veen

05/04/2005 13:10:00
Quote Anchor link
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);
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.