pavelforever/php-censure
该软件包最新版本(dev-master)没有可用的许可证信息。
antonlukin/php-censure 的分支,并进行了一些更新
dev-master
2023-03-21 19:17 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- larapack/dd: ^1.1
This package is not auto-updated.
Last update: 2024-09-19 19:09:08 UTC
README
- 算法足够可靠且速度快,尤其是在大数据量情况下
- 检测脏话的方法基于俄语的词根和介词,而不是词汇表
- “洛赫”、“赫”、“залупа”、“сука”等词不被视为脏话(参见达尔词典)
- 自2005年起开始开发
- 根据俄罗斯联邦行政违法法典第20.1条,在公共场所(互联网为公共场所)使用粗话被视为轻微的流氓行为,对此将处以行政责任——罚款五百至一千卢布或行政拘留十五日以内。
安装
composer require pavelforever/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 'Матерное слово не обнаружено' }
许可证
原始代码以CC BY-SA 3.0 许可证发布