添加的内容 删除的内容
(→#time: // Edit via Wikiplus) |
无编辑摘要 |
||
(未显示同一用户的4个中间版本) | |||
第487行: | 第487行: | ||
在本例中,不必将管道符放在参数名称后面,因为你不太可能需要选择字符串“<code><nowiki>{{{</nowiki>''parameter name''<nowiki>}}}</nowiki></code>”作为样例。 |
在本例中,不必将管道符放在参数名称后面,因为你不太可能需要选择字符串“<code><nowiki>{{{</nowiki>''parameter name''<nowiki>}}}</nowiki></code>”作为样例。 |
||
((如果没有管道符,且参数不存在或没有值,则参数就会显示为这样。) |
((如果没有管道符,且参数不存在或没有值,则参数就会显示为这样。) |
||
参见 |
参见[[mw:Help:Parser functions in templates|Help:Parser functions in templates]]。) |
||
:<syntaxhighlight lang="moin" inline>{{#switch: {{{1}}} | foo = Foo | baz = Baz | Bar }}</syntaxhighlight> |
:<syntaxhighlight lang="moin" inline>{{#switch: {{{1}}} | foo = Foo | baz = Baz | Bar }}</syntaxhighlight> |
||
第629行: | 第629行: | ||
{{Anchor|time|TIME}} |
{{Anchor|time|TIME}} |
||
== #time == |
== #time == |
||
{| class="wikitable plainlinks" style="float: right; font-size: 90%; line-height: normal; margin-{{dir|{{pagelang}}|right|left}}: 1em; |
{| class="wikitable plainlinks" style="float: right; font-size: 90%; line-height: normal; margin-{{dir|{{pagelang}}|right|left}}: 1em; " |
||
|- |
|- |
||
! 代码 |
! 代码 |
||
第790行: | 第790行: | ||
|- |
|- |
||
| style="text-align: center;" | <code>r</code> |
| style="text-align: center;" | <code>r</code> |
||
| [[ |
| [[rfc:5322|RFC 5332]]规范化的日期。与<syntaxhighlight lang="moin" inline>D, j M Y H:i:s +0000</syntaxhighlight>等价,但周名和月名可能不是国际化表述。 |
||
| style="font-size: 75%;" | {{#time:r}} |
| style="font-size: 75%;" | {{#time:r}} |
||
|- |
|- |
||
第1,202行: | 第1,202行: | ||
== 字符串函数 == |
== 字符串函数 == |
||
所有这些函数(<code>len</code>, <code>pos</code>, <code>rpos</code>, <code>sub</code>, <code>replace</code>, <code>explode</code>)都[[Special:Code/MediaWiki/50997|融合]]在了StringFunctions扩展中,但是只有在管理员在<code>LocalSettings.php</code>中启用了<syntaxhighlight lang=php inline>$wgPFEnableStringFunctions = true;</syntaxhighlight>的情况下才能使用。 |
所有这些函数(<code>len</code>, <code>pos</code>, <code>rpos</code>, <code>sub</code>, <code>replace</code>, <code>explode</code>)都[[mw:Special:Code/MediaWiki/50997|融合]]在了StringFunctions扩展中,但是只有在管理员在<code>LocalSettings.php</code>中启用了<syntaxhighlight lang=php inline>$wgPFEnableStringFunctions = true;</syntaxhighlight>的情况下才能使用。 |
||
所有这些函数都以[[大O符号|O(n)]]的时间复杂度运行,使其能够抵御[[DoS|DoS]]攻击。 |
所有这些函数都以[[大O符号|O(n)]]的时间复杂度运行,使其能够抵御[[DoS|DoS]]攻击。 |
||
第1,357行: | 第1,357行: | ||
** 注意在替换词中'''''这是唯一可以使用nowiki的地方'''''',因为其他的nowiki都会被用来绕过[[#$wgStringFunctionsLimitReplace|$wgStringFunctionsLimitReplace]],将任意大量的字符串注入到输出中。 因此,在替换词中所有出现{{tag|nowiki|open}}或其他标签扩展的地方都会替换为空格。 |
** 注意在替换词中'''''这是唯一可以使用nowiki的地方'''''',因为其他的nowiki都会被用来绕过[[#$wgStringFunctionsLimitReplace|$wgStringFunctionsLimitReplace]],将任意大量的字符串注入到输出中。 因此,在替换词中所有出现{{tag|nowiki|open}}或其他标签扩展的地方都会替换为空格。 |
||
* 此函数可安全处理UTF-8多字节字符。 例如: <code><nowiki>{{#replace:Žmržlina|ž|z}}</nowiki></code>返回<code>Žmrzlina</code>。 |
* 此函数可安全处理UTF-8多字节字符。 例如: <code><nowiki>{{#replace:Žmržlina|ž|z}}</nowiki></code>返回<code>Žmrzlina</code>。 |
||
* 如果单个文本字符串中的多个项都要替换,可以考虑 |
* 如果单个文本字符串中的多个项都要替换,可以考虑[[mw:Extension:ReplaceSet|Extension:ReplaceSet]]。 该扩展会添加一个空余替换序列的解析器函数。 |
||
}} |
}} |
||
第1,428行: | 第1,428行: | ||
这些用于限制一些函数的部分参数以确保函数在O(n)时间复杂度内运行,因此可避免[[Dos|Dos]]攻击,确保安全。 |
这些用于限制一些函数的部分参数以确保函数在O(n)时间复杂度内运行,因此可避免[[Dos|Dos]]攻击,确保安全。 |
||
==== $ |
==== $wgString<wbr>FunctionsLimitSearch ==== |
||
[[##pos|#pos]]、[[##rpos|#rpos]]、[[##replace|#replace]]、[[##explode|#explode]]都使用了此设置。所有这些函数在运行时都会在更大的字符串中搜索子字符串,这可以在O(n*m)内运行,因此使软件更容易受到[[DoS|DoS]]攻击。将此值设置为特定的更小的数,可将时间复杂度降低到O(n)。 |
[[##pos|#pos]]、[[##rpos|#rpos]]、[[##replace|#replace]]、[[##explode|#explode]]都使用了此设置。所有这些函数在运行时都会在更大的字符串中搜索子字符串,这可以在O(n*m)内运行,因此使软件更容易受到[[DoS|DoS]]攻击。将此值设置为特定的更小的数,可将时间复杂度降低到O(n)。 |
||
第1,443行: | 第1,443行: | ||
<span id="General_points"></span> |
<span id="General_points"></span> |
||
== 一般帮助 == |
== 一般帮助 == |
||