Как убрать мат из текста на php

27 Апреля 2018

Надо признаться, что мат в современной жизни уж точно не вызывает какого-либо удивления у подготовленной публики. Да и в интернете вести дискуссию без перехода на личности и оскорблений зачастую становится все труднее. С другой стороны, каждый волен сам выбирать путь изложения собственных мыслей, и, наверное, нет никакого смысла в том, чтобы хотя бы отдаленно пытаться учить кого-либо из взрослых людей обоходиться без непечатных выражений. Если же перед вами все же стоит подобная задача(например, вычищать мат в обсуждениях на своем сайте), то я предлагаю небольшой пакет, который позволит справиться с данной проблемой.

Установить пакет можно через composer:

composer require pavelpage/censorship

Теперь разберемся, с тем, как работает данный пакет, и как им можно воспользоваться.

На самом деле все достаточно просто. Пакет анализирует строку с помощью регулярных выражений и при совпадении выдает соответствющий результат. В самом простом случае достаточно просто инициализировать класс и проверить строку на наличие нецензурных слов:

$censor = new Censor();
$text = "some text";

$censor->hasObsceneWords($text);

Либо заменить слова в строке:

$censor = new Censor();
$text = "some text";

$censor->clean($text);// меняем слова на соответствующий паттерн

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

$censor = new Censor(['param_name' => []);// перечисляем необходимые параметры

Ознакомиться с действием пакета можно по ссылке.

0
Комментарии

комментариев еще нету

Для того, чтобы выразить экспертное мнение, нужно авторизироваться