Thread BBCode URL Teile filtern
(8 answers)
Opened by John at 2011-05-05 20:09 Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/perl use strict; use warnings; my $text=<<EOT; [youtube][/youtube] [youtube]1234_Abc[/youtube] [youtube]http://www.youtube.de/?v=1234_Abc[/youtube] [youtube]http://www.youtube.de/embed/1234_Abc[/youtube] [youtube]foo bar bam 123[/youtube] EOT $text =~ s#\Q[youtube]\E\s*(?:\Qhttp://www.youtube.\E.+?(?:v=(\w+)|embed/(\w+))|(\w+)|.*?)\s*\Q[/youtube]\E# my $val=$1 || $2 || $3; $_=$val?qq(<iframe width="400" height="300" src="http://www.youtube.com/embed/$val" frameborder="0" allowfullscreen></iframe>):''; #isge; print $text; Aber ich würde dir Vorschlagen zum Parsen von BBC-Tags ein Modul zu nutzen (siehe cpan). Das macht es nicht nur einfacher wartbar und erweiterbar, sondern kann auch Verschachtelungen Handhaben und Fehler erkennen. |