想法:导入HTML时,为未标记的URL始终添加链接的选项

您好,我正在将一个大型 Drupal 论坛导入 Discourse。Drupal 和大多数其他论坛/CMS 平台一样,只需键入 https://example.com 即可在帖子中自动创建 HTML 链接,Discourse 也是如此。但 Discourse 仅在帖子使用 Markdown 时才这样做,而在 HTML 元素内(无论是导入的帖子还是用户从其他地方粘贴的 HTML)则不行。对于从其他论坛平台导入的 HTML,通常会有一些 URL 在原始帖子正文中未被标记为链接,但论坛引擎会在渲染的帖子中检测到 URL 并将其链接化。但在 Discourse 中,以下 HTML 段落中的 URL 将不是链接:


<p>Take a look at http://example.com for that.</p>

Take a look at http://example.com for that.


我可以在导入脚本中进行一些正则表达式处理来检测原始 URL 并将其转换为 Markdown 链接,或者我甚至可以简单地将 <p> 的出现替换为换行符,Discourse 就会正常渲染。但这将是一个相当混乱的解决方案,而且我不相信我的正则表达式技能能够避免出现特殊情况,从而无意中链接或删除整个帖子。如果 Discourse 能提供一个在 HTML 代码内检测和链接化原始 URL 的选项,将不胜感激。

启用富文本粘贴会有帮助吗?

感谢您提到该选项,当粘贴已渲染的 HTML 时,如果之前的引擎已自动链接 URL,该选项会起作用,但对于带有未链接 URL 的原始 HTML 代码则无效。此外,该选项也不会影响从另一个论坛引擎导入的帖子。

我明白了。这听起来也很有道理。