我喜欢使用 Discourse 自动将监视词转换为链接的功能。但是,我也在寻找一种自动转换外部链接的方法,主要是为了插入联盟链接(亚马逊以外的)。我尝试使用监视词中的正则表达式选项来实现这一点,但它似乎不适用于链接。有人有什么建议吗?
谢谢!
我喜欢使用 Discourse 自动将监视词转换为链接的功能。但是,我也在寻找一种自动转换外部链接的方法,主要是为了插入联盟链接(亚马逊以外的)。我尝试使用监视词中的正则表达式选项来实现这一点,但它似乎不适用于链接。有人有什么建议吗?
谢谢!
您尝试过 Auto-Linkify Words 主题组件吗?我认为它比“监视的单词”具有更强的正则表达式功能。
是的,但没有成功。
Discourse Affiliate 插件 支持亚马逊和法国网站 ldlc.com,如果它有普遍用途,欢迎提交 PR。
如果不是,您可以使用此插件作为您想实现目标的参考。
正则表达式很难。也许你应该分享一下你尝试过的方法?
![]()
我用谷歌网址示例尝试了:
/(https?:\\/\\/)?(www\\.)?google\\.com/
/(https:\\/\\/)?(www\\.)?((google)?\\.com)/
这不足以进行调试。这会(应该会?)匹配一个谷歌网址,但您想替换什么?
我只需要匹配域名/子域名,而不是所有页面。这是我在 linkify 插件中添加的内容:
/(https?:\\/\\/)?(www\\.)?example\\.com/, https://example.com/affiliateid
我已经取得了一些进展,似乎可能与 enable markdown linkify 设置存在冲突。
此设置比组件具有优势。
我会让 Camille 深入研究,但这可能有助于解决此问题。
我也这么觉得。我创建了一个 https://www.digitalocean.com/ → https://m.do.co/c/a5bf212d9a92/ 的替换项,如果 enable markdown linkify 开启,它就无法工作,如果关闭,它就能工作。我真正想要的是重写链接。
主题组件可能是实现这一目标的一种方式。
也许最简单的解决方案是 fork Discourse Affiliate 插件 并添加我的自定义联盟链接。
这可能有点大材小用。如果你只是想重写一些 URL,你不需要太多。我有一个主题组件可以重写一些 one-box。
我有一个主题组件,它可以查找来自特定域的 one-box,并将它们重写为适合该网站的 <iframe>。对于像我这样技能平平的人来说,不难将其更改为重写你的链接。
你几乎只需要更改这个:
与 Discourse Affiliate 的方法的主要区别在于它会更改已处理内容中的链接,因此它也可以在 Web 应用程序外部使用,例如在电子邮件中或使用不同的客户端时(非常非常罕见)。只需注意这一点。
说得有理!而且更改已发布的帖子需要插件。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.