14

是否有可能逃脱并保持不规范 | 在表格中的模板 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

第三方网站需要«|» 在 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,其中垂直条被正确地 URL 编码为 %7C,就像我想阻止的那样。

4

2 回答 2

6

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

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

于 2012-12-17T06:50:46.130 回答
1

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

资源:

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

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

于 2021-04-12T18:02:10.553 回答