Регулярное выражение - блокировать спам - PullRequest
2 голосов
/ 12 марта 2010

Может ли кто-нибудь привести меня к поиску регулярного выражения, которое блокирует список спам-слов, которые у меня уже есть?

Регулярное выражение должно соответствовать строке со списком спам-слов, которые у меня уже есть.

Не то чтобы это имело значение, но я использую PHP.

Ответы [ 3 ]

7 голосов
/ 12 марта 2010

Попробуйте это:

 \b(word1|word2|...)\b

\b будет совпадать между символом слова и несловесным символом (так что выражение не будет совпадать, если слова появляются как часть более длинного слова).

2 голосов
/ 12 марта 2010

Вы можете сгенерировать регулярное выражение, которое соответствует любому, содержащему спам-слово из вашего списка, заменив запятые на | и добавив круглые скобки и границы слов.

Если ваш спамлист "spam1,spam2,spam3", ваше регулярное выражение будет "\b(spam1|spam2|spam3)\b".

0 голосов
/ 12 марта 2010

Вы можете использовать JavaScript, чтобы запретить пользователю отправлять спам-данные. Такие как:

var spam_words = ["word1", "word2", "word3"];
var regex = new RegExp(spam_words.join("|"));

if(regex.test(form_data_you_wanna_test)){
    // stop submit
}else{
    // submit
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...