当用户使用颤振键入一些文本时,如何解析和替换一个单词作为主题标签链接?

Posted

技术标签:

【中文标题】当用户使用颤振键入一些文本时,如何解析和替换一个单词作为主题标签链接?【英文标题】:How can I parse and replace a word as a hashtag link when user types some text using flutter? 【发布时间】:2019-09-04 09:41:23 【问题描述】:

我希望用户输入一些文本来发帖。但问题是当用户键入一个主题标签(例如#avengers)时,我可以解析该主题标签并将其替换为链接或 ontap 小部件...... URL 链接也是如此

【问题讨论】:

主题标签也在 TextField 中吗?还是在帖子里? 在文本域内 你能分享你想要的设计吗? @PhucTran 它的工作方式与 facebook、youtube 和 instagram 的标签系统相同 @PhucTran 我会展示代码,但数量很多 【参考方案1】:

假设您想在用户完成发布后而不是在输入栏内执行此操作:

smart_text_view 0.1.0 包包含一个名为 LinkTextSpan 的东西,您可以使用它在视图上轻松实现此功能。他们的示例文件夹包含一个已实现的示例。

如Flutter Gallery Drawyer的Flutter官方实现here所示,你可以这样做:

_LinkTextSpan(
                style: linkStyle,
                url: 'https://something.com',
                text: 'flutter github repo',
              ),

_LinkTextSpan( TextStyle style, String url, String text ) : super(
    style: style,
    text: text ?? url,
    recognizer: TapGestureRecognizer()..onTap = () 
      launch(url, forceSafariVC: false);
    
  );

【讨论】:

您能否详细说明它的工作原理 - 一段代码演示了您将如何实现 smart_text_view 来解析主题标签,这将大大有助于我更好地理解这一点。

以上是关于当用户使用颤振键入一些文本时,如何解析和替换一个单词作为主题标签链接?的主要内容,如果未能解决你的问题,请参考以下文章

当用户键入一些文本时,IE textarea 的宽度会发生变化

颤振文本小部件不出现

颤振:如何在 api 正文中传递文本字段值

在 textarea 上键入时突出显示文本

颤振:如何在登录表单中自动填写密码

javascript:在用户键入或更改文本框值时忽略无效输入[重复]