[PHP] Wörter zensieren (Badwords-Funktion)
Die meisten kennen es aus Foren oder Gästebüchern ( wie FSB ^^ ):
Eine kleine Funktion, die gerade Verwendung in Gästebüchern und Foren findet, ist diese hier:
Badwords, meint nicht mehr, als das vorgegebene "schlechte" Wörter durch Sternchen (*) ersetzt werden.
In der Funktion wird bestenfalls "case-insensitive" gehandelt, heißt, dass keine Rücksicht auf Groß- und Kleinschreibung genommen wird. Leider funktioniert das nicht auf allen Servern.
Die meisten kennen es aus Foren oder Gästebüchern ( wie FSB ^^ ):
Eine kleine Funktion, die gerade Verwendung in Gästebüchern und Foren findet, ist diese hier:
Badwords, meint nicht mehr, als das vorgegebene "schlechte" Wörter durch Sternchen (*) ersetzt werden.
In der Funktion wird bestenfalls "case-insensitive" gehandelt, heißt, dass keine Rücksicht auf Groß- und Kleinschreibung genommen wird. Leider funktioniert das nicht auf allen Servern.
PHP:
Script - badwords.php
<?php
// Definition der Badwords außerhalb der Funktion
$badwords = array('Porno', 'depp', 'doof');
function badwords($text) {
global $badwords;
foreach($badwords as $b) {
// replace
$r = $b[0].str_repeat("*", strlen($b)-2).$b[strlen($b)-1];
if(function_exists("str_ireplace")) {
$text = str_ireplace($b, $r, $text);
} else {
$text = str_replace($b, $r, $text);
}
}
return $text;
}
$text = "Wer anderen einen Porno dreht,
hat ein Pornodrehgerät.";
echo badwords($text);
?>