Hallo,
und was soll das jetzt bedeuten?
$string="Wert #EINS# und wert #ZWEI# und wert #DREI# oder doch wert #ZWEI# ?";
$array=array(
"#EINS#"=>"220",
"#ZWEI#"=>"260",
"#DREI#"=>"300"
);
foreach($array as $halter => $wert)
{
$aenderung=str_replace($halter,$wert,$string);
}
echo $aenderung;
Gehen wir die Schleife mal durch:
"#EINS#"=>"220"
$aenderung=str_replace("#EINS#","220",$string);
in $aenderung steht jetzt:
Wert 220 und wert #ZWEI# und wert #DREI# oder doch wert #ZWEI# ?
$string ändert sich nicht.
"#ZWEI#"=>"260"
$aenderung=str_replace("#ZWEI#","260",$string);
in $aenderung steht jetzt:
Wert #EINS# und wert 260 und wert #DREI# oder doch wert 260 ?
$string ändert sich nicht.
"#DREI#"=>"300"
$aenderung=str_replace("#DREI#","300",$string);
in $aenderung steht jetzt:
Wert #EINS# und wert #ZWEI# und wert 300 oder doch wert #ZWEI# ?
$string ändert sich nicht.
_Jetzt_ gibst Du $aenderung aus.
Wie kann ich mir den "fertigen" string anzeigen lassen?
Indem Du $string mit jeder Ersetztung so anpasst, dass es sich die jeweilige Ersetzung merkt.
$string="Wert #EINS# und wert #ZWEI# und wert #DREI# oder doch wert #ZWEI# ?";
$array=array(
"#EINS#"=>"220",
"#ZWEI#"=>"260",
"#DREI#"=>"300"
);
foreach($array as $halter => $wert)
{
$string=str_replace($halter,$wert,$string);
}
echo $string;
Wenn $string erhalten bleiben soll, muss die Hilfsvariable $aenderung _vor_ der Schleife den String übergeben bekommen und sich dann _in_ der Schleife wirklich jede Ersetzung merken.
$aenderung = $string;
foreach($array as $halter => $wert)
{
$aenderung=str_replace($halter,$wert,$aenderung);
}
echo $aenderung;
viele Grüße
Axel