eigentlich geht es ja um regexp für php-funktionen, aber die sollen ja denen von pearl entsprechen?
Es heisst
Practical Extraction and Reporting Language. PERL
nun - die idee ist:
$maint=preg_replace(
"/[url:(.+)](.+)[/url]/",
^
"<a href="$1" target="_blank">$2</a>", $maint);
>
> [url:href]text[/url] wird ja erkannt ABER wenn ich in einer zeile mehr als einen habe, wird der erste [url:] und der letze[/url] ersetzt - all das dazwischen bleibt "as is".
>
> aus
> [url:example.com]example1[/url] [url:example.com]example2[/url]
>
> wird sowas wie
>
> <a href="example.com" target="\_blank">example1[/url] [url:example.com]example2</a>
>
> wie kann man dem helfen? ich weiss nciht mal rech twie ich dir frage stellen soll "wie erzwingt man das erkennen des kürzestmöglichen string"?
du willst non greedy Patterns verwenden. (.+?)
Perl
$urlpat = qr/
\[
url:
(
https?:// #anti XSS, Mache Schemavorgaben
.+?
)
\]
(.+?)
\[
\/url
\]/x;
$string =~ s/$urlpat/<a href="$1" target="\_blank">$2</a>/g;
mfg Beat
--
Woran ich arbeite:
[X-Torah](http://www.elcappuccino.ch/cgi/tok.pl?extern=1-pub-com3306-1)
<°)))o>< ><o(((°>o