FRAGE: wegen einer zensur funktion.

Jimbo2001

Mitglied
also ich hab folgendes problem:

ich habe in meiner mysql db eine tabelle namens badword und eine mit dem namen replace jetzt will ich beide auslesen und dann zu dem dazugehörigen badword die replace dazuschreiben das es in etwa so aussieht:

badword=replace
badword2=replace2

und wie kann ich es dan am besten wieder speichern wenn ich es geändert habe.

im prinzip soll es so in etwa wie in einem gästebuch die zensur funktion aussehen (beispiel: woltlab burning book 1.0 gold die zensur funktion)

wäre nett wenn mir einer helfen könnte.
danke schon mal im voraus.
Jim
 
1. Du legst Dir eine Tabelle an in der die Badwords gespeichert sind und gleichzeitig auch die Replace-Words.
Dann kannst Du gleich das Badword durch das zugehörige Replace ersetzen.
Hierzu dann einfach so lange wie Datensätze in der Tabelle vorhanden sind (while-Schleife) die Funktion "str_replace()" drüberlaufen lassen und die Badwords durch Replace ersetzen.

2. Du fügst in Deine Replace-Tabelle eine Spalte "BadwordID" ein das die Nummer des Badword-Datensatzes hat. Dieser kann entweder durch ein SELECT COUNT oder durch eine Spalte "ID" in der Badword Tabelle angelegt werden. Dann kannst Du für jedes Badword das passende Replace raussuchen lassen.

3. Variante 1 ist schneller und effizienter als Variante 2.
 
das hab ich ja schon alles fertig ich würde es nur gerne in einem textfeld ausgeben lassen die ganzen badwords und replaces damit ich sie anschliesend ändern kann und wieder speicher oder neue dazufügen und löschen oder so weil ich ned immer an der db spielen will da brauch ich zu lange wenn ich da 20 wörter einfüge.


also:

die wörter in einem textfeld ausgeben lassen in deiesem format
badword=replace
badword2=replace2

dann ändern/editieren/löschen/neue schreiben und wieder speichern.

das andere mit eregi_replace hab ich schon alles.

nur weiss ich ned wie ich am schnellsten und besten das oben beschrieben machen kann.

mfg
jim
 
Wenn Du dann ein Array z.B. so anlegst:
PHP:
$badwords = array("badword"=>"replace",
"badword2"=>"replace2");
dann setzt er Dir für jedes Badword den Wert das das Badword in Deinem Array hat, sprich für badword würde replace erscheinen, für badword2 kommt replace2. So wolltest Du es doch, oder?

Diese Arrays kannst Du dann, wenn Du ein explode() vorher ausgeführt hast, in einer Datenbank als ein Eintrag abspeichern und später mit einer foreach-Schleife durchlaufen lassen oder mittels implode zu einem Array zusammenschrauben und Deine ersetzen-Funktion drüberlaufen lassen.
 
also nochmal:

ich habe in meiner datenbank eine tabelle die sql_badword heist in der sind 2 spalten drinnen (badword, replace) jetzt muss ich die beiden spalten auslesen und richtig ordnen das die erste zeile badword zur ersten zeile replace kommt.
zB.
badword=replace
schwein=sch****

und so weiter


und das was dann so ausgegeben wird soll in einer textarea drinnen stehen.

hoffe jetzt weiss jeder wie ich das meine.
 
Zurück