Zormax
Guest
Функция антимат
Хотел для своего чата/гостевой/форума (будущих) и т.д. сделать функцию антимата...
Принцип следующий:
После отправки сообщения посетителем, нужно проверить нет ли в нем запретных
слов...
Все запретные слова должны по задумке хранится в текстовом файле, по одному
слову на одну строку...
Т.е. как я понял надо поместить файл в масив и пройти циклом по нему, от начала
до конца. Если встретится слово из переданной фразы/сообщения, то каким-то
образом заменить это слово на ***, потом продолжить поиск, если больше ничего
не найдено, возвратить измененную строку.
Вот примерный код:
$str_find = $message;
$str_array=file("db/$name_file.txt");
$find=false;
for($i=0;$i<count($str_array);$i++) {
if ($str_array[$i]==$str_find) {
$find=true; // Здесь надо сделать замену плохого слова...
break;
}
}
Только я не пойму, ведь я в переменную $str_find помещаю весть текст переданный
на запись, а мне надо как-то его разбить что-ли...
Дальше я не могу, мозгов пока не хватает...
Такое можно сделать?
Хотел для своего чата/гостевой/форума (будущих) и т.д. сделать функцию антимата...
Принцип следующий:
После отправки сообщения посетителем, нужно проверить нет ли в нем запретных
слов...
Все запретные слова должны по задумке хранится в текстовом файле, по одному
слову на одну строку...
Т.е. как я понял надо поместить файл в масив и пройти циклом по нему, от начала
до конца. Если встретится слово из переданной фразы/сообщения, то каким-то
образом заменить это слово на ***, потом продолжить поиск, если больше ничего
не найдено, возвратить измененную строку.
Вот примерный код:
$str_find = $message;
$str_array=file("db/$name_file.txt");
$find=false;
for($i=0;$i<count($str_array);$i++) {
if ($str_array[$i]==$str_find) {
$find=true; // Здесь надо сделать замену плохого слова...
break;
}
}
Только я не пойму, ведь я в переменную $str_find помещаю весть текст переданный
на запись, а мне надо как-то его разбить что-ли...
Дальше я не могу, мозгов пока не хватает...
Такое можно сделать?