逃脱 |(垂直条/竖线)在 Wiki 标记模板中的 URL 中


是否可以

转义并保留表中模板 Wiki 标记中的 URL 中的非标准 | 字符?

{| class="wikitable"
|-
! Test in Table
|-
| [http://example.org/{var1}|{var2}|{var3} Example]
|}

应该在表格单元格中呈现这样的内容

[http://example.org/1|2|3 Example]

并链接到

http://example.org/1|2|3

垂直条按原样进行编码,而不是像这样编码

http://example.org/1%7C2%7C3

第 3 方网站在 URL 中需要 «|»,我会修复服务器端的 URL 处理,但现在这超出了我的控制范围。关于解决方法的任何帮助?

我试过这些:

[http://example.org/1|2|3 Example] doesn't work within a table   
[http://example.org/{var1}|{var2}|{var3} Example] works in tables

但两者都创建了有效的标准 URL,其中垂直条正确编码为 %7C,如上所示,我想阻止。

外部

链接,如果没有其他扩展的支持,只能由[url description]语法或纯URL本身生成。尽管正如skalee所提到的,您可以使用{{!}}或其他方法来防止管道符号被解释为Wiki文本语法的一部分,但最终链接将始终被编码。

如果没有扩展的帮助,一个快速的解决方案将是JavaScript。(如果它在你自己的MediaWiki网站上,那将非常简单。 MediaWiki:Common.js包含将为所有用户加载的 JavaScript)。

除了前面提到的语法{{!}},还可以使用{{pipe}}或使用<nowiki>text containing the character | (pipe)</nowiki>转义竖线/管道。使用 HTML 实体&#124;也可以。

源:

https://en.wikipedia.org/wiki/Template:Cite_web#Title

https://en.wikipedia.org/wiki/Help:Table#Rendering_pipe_itself

最新更新