20. december 2006 - 19:11Der er
11 kommentarer og 1 løsning
erstatning af grimme ord fra database
jeg har et forum hvor jeg godt vil have erstattetdiverse grimme ord med ***** eller et andet pænere ord. min ide er at have en tabel i mysql med følgende felter id, g_ord, p_ord (g= grimt, p=pænt) jeg har fundet dette script som skulle gøre arbejdet, men jeg er ikke så meget inde i array
<?php $ord_der_skal_erstattes = array("fed","idiot"); $erstat_ord_med = array("erotisk buttet","abekat"); $erstat_i = "Han er fed og en kæmpe idiot"; echo str_replace($ord_der_skal_erstattes, $erstat_ord_med, $erstat_i); ?>
hvordan laver jeg indholdet i tabellen om til de to array $ord_der_skal_erstattes og $erstat_ord_med? erstat_i bliver en tekst hentet fra forum tabellen
jeg kan ikke helt få det til at fungere. min kode er herunder. jeg har indsat to poster i databasen, med det resultat at teksten i forummet bliver udskrevet 2 gange, men ingen ord bliver erstattet selvom de burde. har du et bud
$anmeld = mysql_query("SELECT anmeldt FROM forumtraad WHERE traadID = '$id'") or die(mysql_error()); while ( $g = mysql_fetch_array($anmeld)) { $anmeldt = $g[anmeldt]; if ($anmeldt == 0) echo"<td width='15%'><a href='anmeld.php?id=$id&traad=$traad&gr=$gr'><div class='lille'>Anmeld til admin</div></a></td></tr>"; else if ($anmeldt == 1) echo "<td width='15%'><div class='lille'>Tråd er anmeldt til admin</div></td></tr>"; else if ($anmeldt == 2) echo "<td width='15%'><div class='lille'>admin har markeret dette indlæg som ok</div></td></tr>"; }}}
nu udskrives det kun 1 gang, men ord erstattes stadig ikke. jeg har testet den kode jeg har fundet på phpartikler og den virker fint. min kode ser nu sådan ud
$ban = mysql_query("SELECT p_ord, g_ord FROM ban ORDER BY banid"); while($rs = mysql_fetch_array($ban)) { $ord_der_skal_erstates[]= $rs['g_ord']; $erstat_ord_med[]=$rs['p_ord']; } $ban_tekst = str_replace($ord_der_skal_erstattes, $erstat_ord_med, $tekstenen);
$ban = mysql_query("SELECT p_ord, g_ord FROM ban ORDER BY id"); while($rs = mysql_fetch_array($ban)) { $ord_der_skal_erstates[]= $rs['g_ord']; $erstat_ord_med[]=$rs['p_ord']; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.