beispiel:
$string = „Das blaue Haus soll noch blauer werden!“;
aus diesem string soll dann der folgende werden:
$string_neu = „Das grüne Haus soll noch grüner werden!“;
Hi oliver,
na klar geht sowas.
$string = "Das blaue Haus soll noch blauer werden!";
$string =~ s/blau/grün/g;
print "$string\n";
Der ‚Trick‘ hierbei ist das ‚g‘ (globales Ersetzen im String). Natuerlich kann man auch hier noch was verbessern (z.B. Testen auf Wortgrenzen, d.h. nur Worten, die mit dem String anfangen, werden ersetzt usw. usw.). Der Phantasie sind wieder keine Grenzen gesetzt…
$string = „Das soll mal „.$myVar.“ werden“;
daraus soll werden:
$string = „Das soll mal {b}“.$myVar."{/b} werden";
die variable ‚$myVar‘ hat aber immer einen dynamischen inhalt.
Hi Oliver,
ich vermutete einfach mal, dass ein Teilstring ‚’ oder '‘ - oder eckige Klammern… - in $myVar nicht vorkommt (macht das Leben um einiges einfacher…)
Also:
#ersetze alles in eckigen Klammern durch dasselbe in geschweiften...
$string =~ s/
\[ # Start: '['
( # Beginn grouping -\> $1
[^]]+ # Folge (1 oder mehr) von Nicht-]
) # Ende grouping
\] # Ende: schliessende ]
/{$1}/gx; # x: Kommentare im RE, g: globales
# Ersetzen...