Liesse sich das performanter Gestalten indem man die RegExp zusammenfasst?
Wird es dann nicht reichlich unübersichtlich?
unwartbar und nein. Die Gefahr ist zu gross dass du eine pathologische Regex baust.
Ich arbeite in Perl mit Callback Funktionen.
Hier der Parser für das eHF-CMS
sub parse_function{
my $t=shift || '';
my $l=shift || 0;
for($t){
s#(?<!\\)\[get:(theme|layout|version|loginform)(?<!\\)\]#user_get($1)#exg;
s#(?<!\\)\[footnote:($Nested1Level)(?<!\\)\]# user_footnote($1) #egx;
s#(?<!\\)\[link: ($Nested1Level) (?<!\\)\]# user_link($1) #egx;
s#(?<!\\)\[mailtolink: ($Nested1Level) (?<!\\)\]# user_mailtolink($1) #egx;
s#(?<!\\)\[image: ($Nested1Level) (?<!\\)\]# user_image($1) #egx;
s#(?<!\\)\[navigation: ($Nested1Level) (?<!\\)\]# user_navigation($1) #egx;
s#\\\[#[#g;
s#\\\]#]#g;
}
return $t;
}
Die callback funktionen können dann die Details herausziehen.
Wichtig ist, dass die API solcher Funktionen upgradebar ist ohne bisherigen Code zu gefährden.
In BdE-Online umfasst die Liste etwa 30 Funktionen.
Dabei konnte ich keine Performance-Probleme feststellen, auch nicht bei sehr intensivem Gebrauch.
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische