Problem mit Badword liste xD
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arsch
ausgabe
count
elemente
englisch
erste
fehler
ficken
gelst beitrag
inhalt
kleine unachtsamkeiten
kleines skript
leben
meisten
scheien
sicht
stehen
syntax
syntaxfehler
-
Hallo
ich hab mir mal versucht ein kleines Skript zu machen das Schlecht wörter rausfiltert aber es komischerweiße nicht tut >.>
Naja hier der code:
<?php $badwords = "fuck*fick*ass*arsch*scheiß"; $word = explode("*", $badwords); $i = 0; while($i <= "10") { $i++; $titel = eregi_replace($word[$i], "*beep*",$titel); $inhalt = eregi_replace($word[$i], "*beep*",$inhalt); } ?>
$titel und $inhalt sind gefüllte variablen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich würde in der while keinen String benutzen.
Ausserdem würde ich str_replace() anstatt eregi_replace() nehmen.
Sonst kann ich nichts entdecken, sollte aber eher an der while liegen. -
Jo so funzt jetzt einigermaßen...
<?php $badwords = "suck*fuck*fick*ass*arsch*scheiß"; $word = explode("*", $badwords); $i = 0; $else = "*beep*"; while($i <= "10") { $i++; $titel = str_ireplace($word[$i],$else,$titel); $inhalt = str_ireplace($word[$i],$else,$inhalt); } ?>
Leider nimmt er wörter die groß geschrieben sind nicht war -.- -
erstens das und ein aus meiner sicht syntaxfehler... du vergleichst ... $i mit einem String das machst du durch die '' und das funktioniert vl unter PHP ist aber trotzdem ein syntax fehler!
Außerdem ... das Array hat nur 5 Elemente und du gehst bis 10 durch ? das ist auch falsch!
also
while($i <= count($word))
{
$i++;
$titel = str_replace($word[$i],"*beep*",$titel);
$inhalt = str_replace($word[$i],"*beep*",$inhalt);
}
-
@sirseven
kleine unachtsamkeiten die mir das leben schwer machen^^"
eigentlich gehe ich meistens wenn es funktioniert meinen code nochmal durch und verbessere ihn^^(ich weiß es klingt blöd)
EDIT
Problem gelöst...
Beitrag geaendert: 20.12.2006 22:28:28 von garlian -
Warum machst du es nicht einfach wie folgt?
<?php $titel = 'Hier stehen die wörter fuck und arsch!'; $text = 'In diesem scheiß Text wird verfickt nochmal auf Englisch geflucht: Fuck, ass!'; $badwords = array('/fuck/i','/fick/i','/ass/i','/arsch/i','/scheiß/i'); $titel = preg_replace($badwords,'*beep*',$titel); $text = preg_replace($badwords,'*beep*',$text); print $titel.'<br />'.$text; //Ausgabe: //Hier stehen die wörter *beep* und *beep*! //In diesem *beep* Text wird ver*beep*t nochmal auf Englisch geflucht: *beep*, *beep*! ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage