• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit str_replace & foreach

  • Ersteller Ersteller DiVaO
  • Erstellt am Erstellt am
D

DiVaO

Guest
Habe ein Problem...

Ziel ist es, bestimmte Wörter im Satz durch andere zu ersetzen. Folgender Code:

PHP:
<?php

$satz = '<p>Das ist ein Haus mit Dach..</p>';

$array = array( 'Haus' => 'Baum', 'Dach' => 'Blättern' );
foreach($array as $word=>$replace) {
$text = str_replace($word, $replace, $satz);
}
print $text;
?>

Nun sollte eigentlich Haus durch Baum und Dach durch Blättern ersetzt werden. Allerdings werden nicht beide Wörter ersetzt, sondern immer nur eins.

Ausgegeben wird:

Code:
Das ist ein Haus mit Blättern..

Egal was ich versuche, er ersetzt immer nur ein Wort und nicht alle aus dem array. Was mache ich falsch?
 
Du nimmst bei jedem Schleifendurchlauf den Originalsatz in $satz (ohne Veränderungen) als Ausgangslage, nicht den Satz in $text mit bereits erfolgten Ersetzungen.
 
Danke für die schnelle Antwort, war genau das was ich nicht beachtet habe. ^^
 
Zurück
Oben