PHPackages                             pavelforever/php-censure - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pavelforever/php-censure

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pavelforever/php-censure
========================

A fork of antonlukin/php-censure with some updates

1511PHP

Since Mar 21Pushed 3y agoCompare

[ Source](https://github.com/pavelforever/php-censure)[ Packagist](https://packagist.org/packages/pavelforever/php-censure)[ RSS](/packages/pavelforever-php-censure/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Определение наличия мата (нецензурных слов) в тексте, матотест
==============================================================

[](#определение-наличия-мата-нецензурных-слов-в-тексте-матотест)

- Алгоритм достаточно надёжен и быстр, в т.ч. на больших объёмах данных
- Метод обнаружения мата основывается на корнях и предлогах русского языка, а не на словаре
- Слова "лох", "хер", "залупа", "сука" матерными словами не считаются (см. словарь Даля)
- Разработка ведётся с 2005 года
- Согласно статье 20.1 КоАП РФ нецензурная брань в общественных местах (интернет — место общественное) расценивается как мелкое хулиганство, за что установлена административная ответственность — наложение штрафа в размере от пятисот до одной тысячи рублей или административный арест на срок до пятнадцати суток.

### Установка

[](#установка)

`composer require pavelforever/php-censure`

### Пример использования

[](#пример-использования)

Необходимо вызвать метод `parse` класса `Censure\Censure` с параметрами:

```
* @param    string       $s         строка для проверки
* @param    string       $delta     ширина найденного фрагмента в словах
*                                   (кол-во слов от матного слова слева и справа, максимально 10)
* @param    string       $continue  строка, которая будет вставлена в начале и в конце фрагмента
* @param    bool         $is_html   расценивать строку как HTML код?
*                                   в режиме $is_html === TRUE html код игнорируется, а html сущности заменяются в "чистый" UTF-8
* @param    string|null  $replace   строка, на которую заменять матный фрагмент, например: '[ой]' ($replace д.б. в кодировке $charset)
* @param    string       $charset   кодировка символов (родная кодировка -- UTF-8, для других будет прозрачное перекодирование)

```

Результатом будет либо замененный фрагмент матерного текста, либо false

```
Если $replace === NULL, то возвращает FALSE, если мат не обнаружен, иначе фрагмент текста с матерным словом.
Если $replace !== NULL, то возвращает исходную строку, где фрагменты мата заменены на $replace.
В случае возникновения ошибки возвращает код ошибки > 0 (integer):
  * PREG_INTERNAL_ERROR
  * PREG_BACKTRACK_LIMIT_ERROR (see also pcre.backtrack_limit)
  * PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit)
  * PREG_BAD_UTF8_ERROR
  * PREG_BAD_UTF8_OFFSET_ERROR (since PHP 5.3.0)
Или -1, если ReflectionTypeHint вернул ошибку

```

```
require __DIR__ . '/vendor/autoload.php';

$test = Censure\Censure::parse("хуй пизда");

if ($test === false) {
    echo 'Матерное слово не обнаружено'
}
```

### Лицензия

[](#лицензия)

Оригиальный код опубликован под лицензией

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/53886209?v=4)[iPabro](/maintainers/iPabro)[@iPabro](https://github.com/iPabro)

---

Top Contributors

[![rin-nas](https://avatars.githubusercontent.com/u/956066?v=4)](https://github.com/rin-nas "rin-nas (3 commits)")[![antonlukin](https://avatars.githubusercontent.com/u/454185?v=4)](https://github.com/antonlukin "antonlukin (2 commits)")[![pavelforever](https://avatars.githubusercontent.com/u/9401132?v=4)](https://github.com/pavelforever "pavelforever (2 commits)")[![iPabro](https://avatars.githubusercontent.com/u/53886209?v=4)](https://github.com/iPabro "iPabro (1 commits)")

### Embed Badge

![Health badge](/badges/pavelforever-php-censure/health.svg)

```
[![Health](https://phpackages.com/badges/pavelforever-php-censure/health.svg)](https://phpackages.com/packages/pavelforever-php-censure)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
