Regex соответствует многим другим словам ⇐ Php
Regex соответствует многим другим словам
Я хочу реализовать функцию блокировки, которая блокирует следующие слова (неважно, URL-адрес или текстовое сообщение (здесь показаны соответствующие слова: Porn, Fuck, Erotik / Erotic / Erregend). Мой способ реализации: регулярное выражение, которое выглядит так. Моя проблема в том, что оно блокирует даже не эти слова. Оно также блокирует другие слова, содержащие большую часть букв (например, поддержка). Есть ли у кого-нибудь идеи, что может вызвать проблему?
$регулярное выражение = '/([Pp]+[+\s-_.,%][Oo]+[+\s-_.,%][Rr]+[+\s-_., %][Nn]+[+\s-_.,%])|([Ff]+[+\s-_.,%][Uu]+[+\ s-_.,%][Cc][+\s-_.,%][Kk]+[+\s-_.,%])| ([Ee]+[+\s-_.,%][Rr]+[+\s-_.,%][Oo]+[+\s-_.,%] [Tt]+[+\s-_.,%][Ii]+[+\s-_.,%][KkCc]+[+\s-_. ,%])|([Ee]+[+\s-_.,%][Rr]+[+\s-_.,%][Oo]+[+ \s-_.,%][Gg]+[+\s-_.,%][Ee]+[+\s-_.,%])|( [Ee]+[+\s-_.,%][Rr]+[+\s-_.,%][Ee]+[+\s-_.,%]< em>[Gg]+[+\s-_.,%][Ee]+[+\s-_.,%][Nn]+[+\s-_.,% ][Dd]+[+\s-_.,%]*)/';
и если я сделаю что-то подобное:
if (preg_match($regex,$text) { /*Делаем что-то (например, сообщаем об ошибке).*/ }
Я хочу реализовать функцию блокировки, которая блокирует следующие слова (неважно, URL-адрес или текстовое сообщение (здесь показаны соответствующие слова: Porn, Fuck, Erotik / Erotic / Erregend). Мой способ реализации: регулярное выражение, которое выглядит так. Моя проблема в том, что оно блокирует даже не эти слова. Оно также блокирует другие слова, содержащие большую часть букв (например, поддержка). Есть ли у кого-нибудь идеи, что может вызвать проблему?
$регулярное выражение = '/([Pp]+[+\s-_.,%][Oo]+[+\s-_.,%][Rr]+[+\s-_., %][Nn]+[+\s-_.,%])|([Ff]+[+\s-_.,%][Uu]+[+\ s-_.,%][Cc][+\s-_.,%][Kk]+[+\s-_.,%])| ([Ee]+[+\s-_.,%][Rr]+[+\s-_.,%][Oo]+[+\s-_.,%] [Tt]+[+\s-_.,%][Ii]+[+\s-_.,%][KkCc]+[+\s-_. ,%])|([Ee]+[+\s-_.,%][Rr]+[+\s-_.,%][Oo]+[+ \s-_.,%][Gg]+[+\s-_.,%][Ee]+[+\s-_.,%])|( [Ee]+[+\s-_.,%][Rr]+[+\s-_.,%][Ee]+[+\s-_.,%]< em>[Gg]+[+\s-_.,%][Ee]+[+\s-_.,%][Nn]+[+\s-_.,% ][Dd]+[+\s-_.,%]*)/';
и если я сделаю что-то подобное:
if (preg_match($regex,$text) { /*Делаем что-то (например, сообщаем об ошибке).*/ }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение