Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Einfacher Badword-Filter [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Einfacher Badword-Filter


 
Wannabe
12-08-2004, 18:48 
 
Hallo,

ich mach grad für ein Formular ein einfachen Badword-Filter.

Sieht in etwa so aus:
Durchsucht werden soll die variable $beitrag.
Alle Badwords sind in nem array namens $badwords gespeichert.

Und hiermit ersetze ich halt die Worte:

foreach($badwords as $value=>$icon){
$beitrag = str_replace($value, $icon, $beitrag);
}


Gibt es vielleicht eine Möglichkeit, das Replacement UNABHÄNGIG von Groß-und Kleinschreibung und UNABHÄNGIG von Leerzeichen zu machen?

Also das ich z.B: auto als Badword angeben kann, und dann sowohl auto als auch A U T O etc. ersetzt werden?

 
oppi
12-08-2004, 19:01 
 
also ab php5 gibts str_ireplace() (www.phpnet/str-ireplace).

Wenn du php4 nutzen solltest (wovon ich mal ausgehe) hilft dir das hier:preg_replace('/'.array_keys($badwords).'/i',$badwords)
evtl. braucht du auch noch preg_quote() (www.php.net/preg-quote)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:52 Uhr.