@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) в разных регистрах не совсем мобильно. Помогите, пожалуйста, доделать
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
@Mellorn
str_ireplace() вместо str_replace().
А лучше юзать mb_* аналоги соответствующих функций для работы со строками.
Но вообще всё это не имеет смысла.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@66demon666
По навыкам джун - по факту безработный
Переводите исходные слова в единый регистр и сравнивайте
Ответ написан
revenger
@revenger
30
Не надо.
Просто подумайте, что вместо bitch напишут ьitch, bitсh,btch, и еще сотни вариантов, подразумевающих это слово.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 100 000 до 180 000 ₽
LAPTOP.RU Москва
от 150 000 до 190 000 ₽
LAPTOP.RU Москва
от 130 000 до 170 000 ₽
08 мар. 2021, в 12:56
2000 руб./за проект
08 мар. 2021, в 12:35
50000 руб./за проект
08 мар. 2021, в 11:59
15000 руб./за проект