Задать вопрос
@lid2pro

Замена нехороших слов в PHP?

Доброго времени суток.

Помогите допилить задачу. Необходимо заменять нехорошие слова в сообщениях звездочками

написал функцию

function language_filter( $string )
{
    include( "spisokslov.php" );
    foreach ( $badwords as $curse_word )
    {
        $stars = "";
        if ( stristr( trim( $string ), $curse_word ) )
        {
            $length = strlen( $curse_word );
            $i = 1;
            while ( $i <= $length )
            {
                $stars .= "*";
                ++$i;
            }
            $string = str_replace( $curse_word, $stars, trim( $string ) );
        }
    }
    return $string;
}


Содержимое
spisokslov.php

$badwords = array();
$badwords[0] = 'fuck';
$badwords[1] = 'bitch';
и т.д.


Проблема в том, что если, например, написать слово Fuck (т.е. с большой буквы ), то замена не происходит. А забивать слова в массив (spisokslov.php) в разных регистрах не совсем мобильно. Помогите, пожалуйста, доделать
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@66demon666
Сетевой админ, АТС-админ
Переводите исходные слова в единый регистр и сравнивайте
Ответ написан
revenger
@revenger
49.5
Не надо.
Просто подумайте, что вместо bitch напишут ьitch, bitсh,btch, и еще сотни вариантов, подразумевающих это слово.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы