Worte ersetzen funktioniert nicht

rernanded

Erfahrenes Mitglied
Hallo,
habe zwei Wortlisten in Tabellenfeldern, einmal wort und einmal ersatzwort.

Gebe ich einen Text ein sollen alle Worte die in wort stehen durch das entsprechende Ersatzwort aus ersatzwort geändert werden.

Mein script machts nicht. Woran liegts?
MONI
PHP:
<form action="<?php $_SERVER["PHP_SELF"]; ?>" method="post">
<textarea name="text" rows="10" cols="100"></textarea>
<input type="submit" value="Worte ersetzen">
</form>
<br />
<?php
include_once("dbconnection.php"); 

$sql = "SELECT * FROM ersatzworte ORDER BY id ASC limit 0,1000000";

$ergebnis = @mysql_query($sql);
$anz_ds = @mysql_num_rows($ergebnis);

$zeichenkette = $_POST['text'];

$suchmuster = array();

$ersetzung = array();

for ($ii = 0 ; $ii < $anz_ds ; $ii++)
{
   $id =@mysql_result($ergebnis,$ii,"id");
   $wort =@mysql_result($ergebnis,$ii,"wort");
   $ersatzwort =@mysql_result($ergebnis,$ii,"ersatzwort");
 
   $suchmuster[] = "/(?<![[:word:]])($wort)(?![[:word:]])/";
   $ersetzung[] = $ersatzwort;
}

echo "$zeichenkette<br /><br /><br />";
//echo "<b>";
echo preg_replace($suchmuster, $ersetzung, $zeichenkette);
//echo "</b>";
?>
 
Guten Abend,

kannst du bitte ein paar Wörter und deren Ersatzwörter nennen?

Ansonsten:
- Keine alte MySQL-Erweiterung mehr verwenden.
- preg_quote() verwenden, um evtl. RegExp-Zeichen in $wort zu maskieren.
 
Zurück