|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
regexp (Kann, muss aber nicht)...
|
Seitenanfang |
Hi ich möchte aus dem folgenden String, jeweils den Dateinamen, Bildbezeichnung und Position ermitteln.[[Image:Natur.gif|Natur|right]] Es kann aber sein, das nur der Dateiname vorhanden ist, oder der Dateiname und nur die Bildbezeichnug. Oder es ist nur der Dateiname und die Position vorhanden. <code> $_ =~ s/\[\[image:(.*?)\|(.*?)\|(.*?)\]\]/<img src="$1" alt="$2" align="$3">/ig; </code> [[Image:Natur.gif]] [[Image:Natur.gif|Natur]] [[Image:Natur.gif||right]] [[Image:Natur.gif|Natur|right]] Kann mir jemand da weiter helfen?
Datum: 29.01.2005-21:57

|
re: regexp (Kann, muss aber nicht)...
|
Seitenanfang |
Mach es doch mit split():
$lala =~ s/\[\[image:(.+)\]\]//; @lili = split(/|/, $1); $wo = $lili[0]; $was = $lili[1]; $info = $lili[2];
Datum: 30.01.2005-00:48

|
re: regexp (Kann, muss aber nicht)...
|
Seitenanfang |
Stimmt, die beste Lösung dafür - danke für den Tip. my $tmp=""; if ($_ =~ m/\[\[image:(.+)\]\]/ig) { # Bild finden... my ($img, $alt, $align) = split(/\|/, $1); $tmp="<img src=\"".$img."\" alt=\"".$alt."\""; $tmp.=" align=\"".$align."\"" if ($align); $tmp.=" />"; $_ =~ s/\[\[image:(.+)\]\]/$tmp/ig; # Bild ersetzen... }
Gruß Marko
Datum: 30.01.2005-12:34

|
|

|

|

|
 |

|

|
|