Flutter不良内容过滤插件filter_profanity的使用

Flutter不良内容过滤插件filter_profanity的使用

filter_profanity

pub points pub package

Dart包用于识别提供的字符串是否包含冒犯性词汇。

支持的语言:

  • 阿拉伯语
  • 中文
  • 捷克语
  • 丹麦语
  • 荷兰语
  • 英语
  • 菲律宾语
  • 法语
  • 弗里斯兰语
  • 德语
  • 印地语
  • 匈牙利语
  • 意大利语
  • 日语
  • 韩语
  • 挪威语
  • 奥罗莫语
  • 波斯语
  • 波兰语
  • 葡萄牙语
  • 俄语
  • 西班牙语
  • 瑞典语
  • 泰语
  • 土耳其语
  • 乌克兰语

使用

导入包

import 'package:filter_profanity/filter_profanity.dart';

检查文本是否有冒犯性词汇

hasProfanity('putin') // 返回 true
hasProfanity('Hello') // 返回 false

设置语言

hasProfanity('putin', offensiveWords: englishOffensiveWords) // 返回 true

设置多种语言

hasProfanity('putin', offensiveWords: ukrainianOffensiveWords +  englishOffensiveWords) // 返回 true

MIT许可证

Copyright (c) 2023 Sergiy

许可协议如下:

版权所有 (c) 2023 Sergiy

特此免费授予任何获得本软件副本及关联文档文件(“软件”)的人不受限制地处置该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或销售软件的副本,并允许被提供软件的人如此处置,但须遵守以下条件:

上述版权声明及本许可声明必须包含在所有副本或实质性部分的软件中。

软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有者对于因使用或处置软件或与软件相关的任何索赔、损害或其他责任,无论是合同诉讼、侵权行为还是其他原因引起的,均不承担任何责任。

完整示例代码

import 'package:filter_profanity/filter_profanity.dart';
import 'package:flutter/foundation.dart';

void main() {
  if (kDebugMode) {
    print(hasProfanity('putin')); // 输出 true
  }
}

更多关于Flutter不良内容过滤插件filter_profanity的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter不良内容过滤插件filter_profanity的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用filter_profanity插件的一个基本示例。filter_profanity插件可以帮助你过滤不良内容(例如脏话或不适当的词汇)。

首先,你需要在你的pubspec.yaml文件中添加这个插件的依赖项:

dependencies:
  flutter:
    sdk: flutter
  filter_profanity: ^最新版本号  # 请替换为实际可用的最新版本号

然后运行flutter pub get来安装依赖项。

安装完成后,你可以在你的Dart代码中使用这个插件。以下是一个简单的示例,展示如何过滤一个字符串中的不良内容:

import 'package:flutter/material.dart';
import 'package:filter_profanity/filter_profanity.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('不良内容过滤示例'),
        ),
        body: Center(
          child: FilterProfanityExample(),
        ),
      ),
    );
  }
}

class FilterProfanityExample extends StatefulWidget {
  @override
  _FilterProfanityExampleState createState() => _FilterProfanityExampleState();
}

class _FilterProfanityExampleState extends State<FilterProfanityExample> {
  final TextEditingController _controller = TextEditingController();
  String _filteredText = '';

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        TextField(
          controller: _controller,
          decoration: InputDecoration(labelText: '输入文本'),
          maxLines: 5,
        ),
        SizedBox(height: 20),
        ElevatedButton(
          onPressed: () {
            setState(() {
              final profanityFilter = ProfanityFilter();
              _filteredText = profanityFilter.clean(_controller.text);
            });
          },
          child: Text('过滤文本'),
        ),
        SizedBox(height: 20),
        Text('过滤后的文本: $_filteredText'),
      ],
    );
  }
}

请注意,上面的代码示例有几个重要的点:

  1. 引入依赖:确保你已经正确地在pubspec.yaml中添加了filter_profanity依赖,并运行了flutter pub get

  2. 创建UI:创建了一个简单的UI,包括一个TextField用于输入文本,一个ElevatedButton用于触发过滤操作,以及一个Text用于显示过滤后的文本。

  3. 过滤逻辑:在按钮点击事件中,通过ProfanityFilter().clean()方法来过滤输入的文本,并将结果存储到_filteredText中。

需要注意的是,filter_profanity插件的实际API和用法可能会有所不同,具体取决于插件的版本和作者的更新。因此,建议查看插件的官方文档或GitHub页面以获取最新的用法和示例。

此外,由于不良内容的定义可能因文化和语境而异,因此可能需要自定义词汇列表或调整过滤策略以满足特定需求。

回到顶部