转义并保留表中模板 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 实体|
也可以。
源:
https://en.wikipedia.org/wiki/Template:Cite_web#Title
https://en.wikipedia.org/wiki/Help:Table#Rendering_pipe_itself