如何自动屏蔽新帖子中的特定链接?
对我而言,最佳的解决方案是屏蔽链接。但目前的“屏蔽”功能仅隐藏可见文本,链接仍然可以正常点击,仿佛未被屏蔽。
此外,当启用“一键预览”(onebox)功能时,屏蔽功能完全失效——没有任何内容被隐藏。
我希望不仅能隐藏文本,还能通过替换为自定义文本来彻底破坏链接。例如,将链接“http://google.com/results…”屏蔽为“http://blocked.com/results…”或“已屏蔽链接”。
有什么解决思路吗?
如何自动屏蔽新帖子中的特定链接?
对我而言,最佳的解决方案是屏蔽链接。但目前的“屏蔽”功能仅隐藏可见文本,链接仍然可以正常点击,仿佛未被屏蔽。
此外,当启用“一键预览”(onebox)功能时,屏蔽功能完全失效——没有任何内容被隐藏。
我希望不仅能隐藏文本,还能通过替换为自定义文本来彻底破坏链接。例如,将链接“http://google.com/results…”屏蔽为“http://blocked.com/results…”或“已屏蔽链接”。
有什么解决思路吗?
将“发帖链接所需最低信任值”改为 1?
谢谢,Jay!但我们的想法是自动替换被审查的词语和链接。Discourse 竟然会审查纯文本中的词语,却不修改 URL 地址,这很奇怪。
出于好奇,如果您的社区成员有习惯性地“刷屏”发布不适合您社区的不当链接,为什么他们仍然是您社区的成员?从表面上看,这似乎更像是一个管理问题……
我们确实会进行内容审核,但这需要时间,而且是人工操作。
我想使用正则表达式来屏蔽特定链接。有人能帮我构造一个针对如下格式链接的正则表达式吗?
文本短语
在我的情况下,[文本短语] 可能有不同的文本版本,我会保留其原始内容。
我只需要隐藏这一部分:(指向特定域名上页面的链接),其中域名始终相同,但链接的长度和文本内容可能不同。
结果应如下所示:
[文本短语]■■■■■■■■■■■■■■■■■■■■■■■■
我找到了一个相关话题,之前该屏蔽功能是按照我所需的方式工作的,但最近被更改了:Censored words out of a URL
@riking > 复现步骤:
- 将
adf.ly添加到屏蔽词列表- 发布包含
http://adf.ly/SpONsoREDliNK的内容- 帖子渲染为
<a href="http://■■■■■■/SpONsoREDliNK">http://■■■■■■/SpONsoREDliNK</a>
根据以下链接,现在屏蔽功能仅适用于文本:
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/pretty-text/engines/markdown-it/censored.js.es6#L18-L22
已创建一个正则表达式模式
(\\[.*?\\])\\(https?://((www\\.site\\.com)).*/?\\)
当我在“测试‘屏蔽’已观看词汇”中测试时,系统找到了所需的部分。
但当我将需要替换的文本添加到帖子中时,它却无法工作。
可能是什么原因?
另一个问题是,表达式长度有限制——不能超过 50 个字符。是否可以增加这个限制?
解决该问题最简单的方法是改用“屏蔽”而非“审查”。
“审查”功能的初衷是阻止“不良词汇”的视觉显示,而非破坏链接,因此该功能并非为此设计。