0

我的应用程序允许成员发布帖子,我希望能够从他们提交的帖子中提取和格式化某些项目;例如 urls、@mentions、#hashtags 等(主要是把它们变成链接)。

出于性能原因,我的目标是保留字符串类型的列。我宁愿不使用 Markdown 之类的东西,因为我认为如果人们只是发布并自动为他们转换东西会更好。(另外,这意味着少了一种依赖。)

以下是我的一些想法:

  • 使用正则表达式依次查找每个项目并用格式化的 HTML 替换(这种方法的优点和缺点是什么?我猜这里字符串列的大小限制可能是一个问题。)

  • 用我自己的自定义标签替换用户提交的文本,然后在显示时对其进行格式化。例如,有人发布“Hello @Danny check out this #Ferrari”,然后 @ 被替换为类似的内容,然后显示[u_id=2]主题标签,他们被转换为and 。这也意味着如果人们更改用户名,链接将始终正确。但这是否太多了,因为正则表达式将在创建和显示时运行?[t_id=1]<a href="site.com/users/danny">@Danny</a><a href="site.com/tags/ferrari">#Ferrari</a>

我还有其他选择吗?最好、最有效的方法是什么?

4

0 回答 0