antonlukin/php-censure

该包最新版本(v1.3)没有可用的许可信息。

基于 rin-nas/php-censure 的分支,包含 composer.json

v1.3 2019-08-21 13:34 UTC

This package is auto-updated.

Last update: 2024-09-22 01:16:19 UTC


README

  • 算法相当可靠且快速,包括在大量数据的情况下
  • 发现脏话的方法基于俄语中的词根和介词,而不是基于词典
  • “傻逼”、“混蛋”、“屁眼”、“婊子”不被视为脏话(参见达尔词典)
  • 自2005年起开始开发
  • 根据《中华人民共和国治安管理处罚法》第二十一条,公共场所(互联网属于公共场所)的脏话视为轻微扰乱公共秩序,对此将处以五百至一千元的罚款或行政拘留至十五天。

安装

composer require antonlukin/php-censure

使用示例

需要调用 Censure\Censure 类的 parse 方法,并传入参数

* @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 'Матерное слово не обнаружено'
}

许可

原始代码在 http://creativecommons.org/licenses/by-sa/3.0/ 许可下发布