Hab hier einen einfachen BBCode-Regex.
my @allowedTags = ('b', 'i');
for (@allowedTags) {
$text =~ s{
\[$_\](.+?)\[$_\]
} {
replace($_,$1)
}egsx;
}
Meine Frage betrifft aber eher nur den Regex bzw. das Suchmuster:
[$_](.+?)[$_]
Wie ist es möglich, dass das Suchmuster sich nur angesprochen fühlt, wenn es NICHT innerhalb von [code] steht? Ich bräuchte also im prinzip sowas:
^[code].*[$_](.+?)[$_].*^[code]
Bin allerdings wie man sieht nicht so der regex-könner :D