Probs mit str_replace

FP4Lisa

Mitglied
Hi Leute, ich möchte unerlaubte Wörter ersetzen. Dazu habe ich eine Datenbank mit dem unerlaubten wort (Wort) und womit es ersetzt werden soll (Neu). Nun habe ich folgenden Code geschrieben und unten einen Teststring eingfügt, doch leider tut sich nichts, was mache ich falsch?

Code:
<?php
 function zensieren($text) {
 // Verbindung zur Datenbank
 $connection = mysql_connect("xxx", "xxx", "xxx");
 
 		if (!$connection) // Frage nach Verbindung
 		{	// wenn keine Verbindung
 			echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>";
 			exit;
 		}
 
 		mysql_select_db("datenbankname");
 		
 			$sqlz = "SELECT * FROM zensur";
 		
 			$resultz = mysql_query($sqlz);
 			$gefunden = mysql_num_rows($resultz);
 			while($datenz = mysql_fetch_array($resultz))
 						{
 		    			$wort = $datenz["Wort"];
 		    			$neu = $datenz["Neu"];
 		    			$text = str_replace($wort,$neu,$text);
 						return $text;
 						}
 }
 $text = 'HURE Leck mich am !';
 $text = zensieren($text);
 echo $text;
 ?>
 
Zuerst solltest du deinen Mysql-Query mit einem "OR die(mysql_error());" erweitern, damit du weißt ob ein Fehler aufgetaucht ist. Dann solltest du überprüfen, ob wirklich Werte existieren, indem du sie testweise ausgibst. Als letztes könntest du auch noch die Str_Replace-Funktion mit einem fixen Paramater füttern, damit du siehst ob es vielleicht auch an einer falschen Anordnung, an einem "falschen" String o.ä liegt.
 
Also ich habe mal folgendes gemacht:

1.
Code:
$resultz = mysql_query($sqlz) or die("Error: " . mysql_error());
mysql error kommt keiner
2. funktion wird auch aufgerufen, denn wenn ich mache
Code:
$text = str_replace("Allerwertester","Sterne",$text);
dann spuckt er mir auch Leck mich am Sterne aus.

-> also gleicht er das in der Datenbank net richtig ab mhmmmmm, nun ist die Frage warum ...
 
Ach alles klar, habe den Bockmist gefunden ...
er arbeitet die Datenbank nur einmal durch, prüft also nur die erste Zeile, da das print $text; mit in der while Schleife steckt, also hab ich es unter die Schleife gesetzt und es läuft ! *jubel*
 
Zuletzt bearbeitet:
Zurück