Schrift
[thread]10549[/thread]

regex: loops finden



<< >> 3 Einträge, 1 Seite
Froschpopo
 2007-10-10 04:24
#100593 #100593
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich habe einen String der HTML::Template-Tags enthält, also Loops usw.

Nun möchte ich einen String untersuchen ob er solche Loop-Tags enthält und wie diese heißen.

Mir schwebt da sowas vor wie
Code: (dl )
1
2
3
4
5
my %loops = (
'<TMPL_LOOP NAME=GRUPPE_' => \&gruppen
);

my @functions = $string =~ s/(<TMPL_LOOP\sNAME=GRUPPE_)(\d+)/[$1,$2]/ge;


Das ganze hat den Sinn, dass nur Funktionen geladen werden, die auch wirklich im Template verlangt werden.

Wenn ich also im Template <TMPL_LOOP NAME=GRUPPE_3> verlange, dann will ich \&gruppen abrufen und 3 als Wert übergeben.

Mein RegEx meldet soweit auch keine Fehler, bis auf dass in @functions lediglich die Anzahl der gefunden LOOP's gelistet wird. Das ist leider mein Fehler. Vielleicht ist es auch schon etwas spät :D

Mich würde auch interessieren, was ihr allgemein von dieser Idee haltet, nur Funktionen zu starten, die vom Template heraus abgefragt werden?
Oder gibts sowas vll. schon?
renee
 2007-10-10 09:42
#100602 #100602
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nimm doch die Funktion query, die liefert Dir zumindest die Namen der Template-Parameter...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2007-10-10 12:02
#100607 #100607
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
wofür schreibt jemand ein template-system, das templates parst? damit ein
froschpopo sich selbst einen parser baut?
ruf doch eine objekt-methode auf, die dann letztendlich gruppen()
aufruft. klingt sauberer.
query geht natürlich auch, wobei query einen kleinen bug hat und nur VARs
von dem template selbst und von includes anzeigt, aber nicht includes von includes.
aber an diesem bug sitzt gerade jemand anders.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 3 Einträge, 1 Seite



View all threads created 2007-10-10 04:24.