Tags 模板转换后的Mediawiki进程标记
有没有办法做那样的事。 我有下一个维基文本:Tags 模板转换后的Mediawiki进程标记,tags,mediawiki,Tags,Mediawiki,有没有办法做那样的事。 我有下一个维基文本: {{template_open_tag}} {{template_some_data}} {{template_close_tag}} 还有一些模板: {{template_open_tag}} <my-tag> {{template_close_tag}} </my-tag> 在我的扩展部分: $wgHooks['ParserFirstCallInit'][] = 'myTagInit'; function my
{{template_open_tag}}
{{template_some_data}}
{{template_close_tag}}
还有一些模板:
{{template_open_tag}}
<my-tag>
{{template_close_tag}}
</my-tag>
在我的扩展部分:
$wgHooks['ParserFirstCallInit'][] = 'myTagInit';
function myTagInit( &$parser ) {
$parser->setHook( 'my-tag', 'myTagRender' );
}
function myTagRender( $input, $args, $parser, $frame) {
return "**".$input."**";
}
多谢各位
附言。
不要问我为什么需要这个奇怪的标记,为什么不想使用这样的东西:
{{template_tag|{{template_some_data}}}}
和{template_open_tag}}类似:
<my-tag>{{{1}}}</my-tag>
{{{1}}
在{template_open_tag}和{{template_close_tag}中使用
而不是使用
并且它应该呈现为bla bla bla…
此外,您不能执行以下操作:
{{template_open_tag}}
{{template_some_data}}
{{template_close_tag}}
你必须这样做
{{template_open_tag}}{{template_some_data}}{{template_close_tag}}
在{template_open_tag}和{{template_close_tag}中使用
而不是使用''
,它应该呈现为bla bla…
此外,您不能执行以下操作:
{{template_open_tag}}
{{template_some_data}}
{{template_close_tag}}
你必须这样做
{{template_open_tag}}{{template_some_data}}{{template_close_tag}}
设置为true
,使MediaWiki仅在评估所有模板后删除未关闭的标记。或者,您可以使用wikimarkup——正如Adrian所说——它不受此限制
更新:AFAIK XML样式的扩展标记在包含模板之前进行评估,因此无法从多个模板将它们拼接在一起。(Event{{{1}}}
在1.16之前不起作用,尽管您可以使用recursiveTagParse
使其在1.16中起作用)设置为true
以使MediaWiki仅在评估所有模板后删除未关闭的标记。或者,您可以使用wikimarkup——正如Adrian所说——它不受此限制
更新:AFAIK XML样式的扩展标记在包含模板之前进行评估,因此无法从多个模板将它们拼接在一起。(Event{{{1}}}
在1.16之前不起作用,尽管您可以使用recursiveTagParse
使其在1.16中起作用)警告您——这种结构可能会在MediaWiki的未来版本中完全被淘汰,因为它的行为不一致,以及它对标记和节等结构造成的困难
正确且经得起未来考验的方法确实是将开始和结束都包含在一个模板中,并将中间部分作为参数传入,例如{{template_tag}{{template_some_data}}}}}警告您——这种结构可能会在未来的MediaWiki版本中被完全淘汰,由于其不一致的行为以及它对标记和节等结构造成的困难
正确的方法是将开始和结束都包含在一个模板中,并将中间部分作为参数传递,例如{{template_tag}{{template_some_data}}}}让我看看我是否正确:你想得到{template_some_data}}中的文本吗?对我来说,这呈现为bla bla bla bla bla bla。。。由于html不起作用,它只是将代码放在文档中。让我看看我是否正确:是否要以{template_some_data}}粗体形式获取文本?对我来说,这呈现为bla bla bla bla。。。由于html不起作用,它只是将代码放在文档中。'$wguestidy=true;'仅适用于HTML标记。但我需要让mediawiki(而不是浏览器)只处理关闭的标记。为了理解这一点,让我们将“”重命名为“”。$wguestidy=true;'仅适用于HTML标记。但我需要让mediawiki(而不是浏览器)只处理关闭的标记。为了理解这一点,让我们将“”重命名为“”。如果将{{template_open_tag}{{template_some_data}}{{template_close_tag}}放在没有换行的位置,它仍然不起作用?不,它仍然不起作用。我不想把所有的一切都放在一行中,因为这是不可读的,如果我把更多的一个模板放在一个模板之间,我是不可读的,我是不可读的,因为我不想把所有的一切都放在一行中,因为这是因为我不想把所有的一切都放在一行中,因为因为它是不可读的,因为它是不可读的不可读的,如果我是不可读的,如果我如果我放在这是这样的,如果我之间,我之间,我之间,这是这样的,之间的,如果我是这样的,如果我,我,如果我,如果我,如果我,我,如果我放超过超过超过超过超过超过超过一个之间的一个之间的一个模板,如果我的一个模板,如果我的,如果我的,如果我是不可读的,这是不可读的,这是不可读的,如果我是不可读的,如果我是不可读的,我的,我的,如果我的,我的,我如果你把{template_open_tag}{{template_some_data}{{template_close_tag}放在没有换行符的地方,它仍然不起作用?不,它仍然不起作用。我不想把所有的一切都放在一行中,因为这是不可读的,如果我把更多的一个模板放在一个模板之间,我是不可读的,我是不可读的,因为我不想把所有的一切都放在一行中,因为这是因为我不想把所有的一切都放在一行中,因为因为它是不可读的,因为它是不可读的不可读的,如果我是不可读的,如果我如果我放在这是这样的,如果我之间,我之间,我之间,这是这样的,之间的,如果我是这样的,如果我,我,如果我,如果我,如果我,我,如果我放超过超过超过超过超过超过超过一个之间的一个之间的一个模板,如果我的一个模板,如果我的,如果我的,如果我是不可读的,这是不可读的,这是不可读的,如果我是不可读的,如果我是不可读的,我的,我的,如果我的,我的,我在寻找答案时,我暂时这样做了。我认为这是一个更好的方法。也许你是对的,我会坚持这个版本。谢谢。我在寻找答案时临时这么做了。我认为这是一个更好的方法。也许你是对的,我会坚持这个版本。谢谢
{{template_open_tag}}{{template_some_data}}{{template_close_tag}}