Suchen und Ersetzen mit Klammern
Lukx
- perl
Hallo,
ich habe zum Thema Suchen und Ersetzen (reguläre Ausdrücke) einen Teil nicht verstanden:
Wie kann ich folgende Aufgabe bewaltigen:
Suche global nach
[img="<VARIABLE1>" bs="<VARIABLE2>"]
und ersetze mit
<img src="fotos/<VARIABLE1>.jpg" alt="Bild"><br><i><VARIABLE2></i><br>
Geht das folgendermassen?
$string =~ s/[img="(^<.+?>)" bs="(^<.+?>)"]/<img src="fotos/$1.jpg" alt="Bild"><br><i>$2</i><br>/gi;
Vielen Dank
Lukx
Sup!
Könnte klappen. Und?
Gruesse,
Bio
[img="<VARIABLE1>" bs="<VARIABLE2>"]
...
$string =~ s/[img="(^<.+?>)" bs="(^<.+?>)"]/<img src="fotos/$1.jpg" alt="Bild"><br><i>$2</i><br>/gi;
Handelt es sich um eine Routine zum Umsetzen von »BB-Codes« nach HTML? Dann würde ich das einfache Leerzeichen (vor »bs=«) im RegEx noch durch »\s+« ersetzen.
Hallo,
habs mal einfach so versucht, und n bisschen rumgebastelt. Folgende Zeile ist dabei herausgekommen (Für Forumsucher, die es interessiert):
$bleintrag =~ s/[img="(.+?)" bs="(.+?)"]/<br><img src="fotos/$1.jpg" alt="Bild"><br><small><i>$2</i><br></small>/gi;
Vielen Dank für die Hilfen.
Lukx
Hi,
$bleintrag =~ s/[img="(.+?)" bs="(.+?)"]/<br><img src="fotos/$1.jpg" alt="Bild"><br><small><i>$2</i><br></small>/gi;
Tippt zur besseren Lesbarkeit: Verwende anstelle der "/" im "Befehl" (jaja, ich weiss) selbst was anderes, dann brauchst du sie innen nicht maskieren:
$bleintrag =~ s!\[img="(.+?)" bs="(.+?)"\]!<br><img src="fotos/$1\.jpg" alt="Bild"><br><small><i>$2</i><br></small>!gi;
HTH
Margin-Auto