Добрый день, у меня есть огромный список слов, в котором находятся слова со спец символами для регулярок, например:
`()[]./`. Всё что мне нужно, это перебирать текст и находить в нём слова из этого списка, находить нужно только целое слово в тексте, т.е "пробел *слово из списка* пробел". Не подскажете как это можно сделать?
Anonymous Penguin, У меня есть бд со списком матов, формата: ['слово', 'слово']. Мне нужно чтобы текст который пишет пользователь проверяло на наличие любого из матерных слов из бд и в случае его присутствия, сообщение пользователя будет удалять. Но у меня в бд есть слова в которых присутствуют () [] /.+ и такие прочие символы которые в регулярке что-то означают.
и в случае его присутствия, сообщение пользователя будет удалять.
Нифига себе, наказание за плохой комментарий))
Нужно понимать, что матерное слово могло быть написано в хорошем контексте, либо могло иметь литературное значение. Так что, в случае нахождения запрещенных слов, лучше просто отправлять комментарий на модерацию - и там уже решат, что делать. И не удалять пользователя за плохое мнение ;)
А еще, лучше не делать проверку на стороне клиента, потому что скрипт легко можно подменить и выйти сухим из воды. Это нужно делать на стороне сервера - туда юзер уже не достанет. Ну PHP или NodeJS
Anonymous Penguin, ахха, это делается в дискорде, бот будет фильтровать контент написанный пользователем. Есть какой способ найти в массиве необходимое слово? Какой то search, indexOf может
Anime Flame, а, в дискорде) Ну ничего не могу сказать по этому поводу
Я тут подумал, ведь слово может не быть отделено пробелом. Например: Это лучший***канал в дс, где вместо звездочек матерное слово - вокруг него нет пробелов. Такую проверку уже будет сложновато реализовать. Нужно будет реализовать полный анализ, где происходит поиск и по содержимому внутри слова. Но опять же, если фильтровать полностью, тогда например слово "канал" тоже может восприниматься как недопустимое, потому что в себе оно содержит немного другое слово, которое после буквы К. Я кншн извиняюсь, но я привожу примеры сложности и проблемности алгоритма.
Anonymous Penguin, у меня будут разные типы фильтров, к примеру фильтр матов внутри всего текста(убирая абсолютно все пробелы), либо фильтр капса, сейчас работа идёт именно с поиском отдельных слов в предложении, переносить слова из предложения в массив это правильное решение, но можно ли как то в этом массиве найти нужное слово потом?