Help:解析器函数:修订间差异

帮助页面
添加的内容 删除的内容
无编辑摘要
无编辑摘要
第688行: 第688行:
|-
|-
| style="text-align: center;" | <code>z</code>
| style="text-align: center;" | <code>z</code>
| 年内的第几天(一月一日视为第0天)。<br>{{note}}要获得ISO日期值请在此数基础上加1。
| 年内的第几天(一月一日视为第0天)。<br>{{memo|要获得ISO日期值请在此数基础上加1。}}
| style="text-align: center;" | {{#time:z}}
| style="text-align: center;" | {{#time:z}}
|-
|-
第872行: 第872行:
|-
|-
| style="text-align: center;" | <code>xkY</code>
| style="text-align: center;" | <code>xkY</code>
| 泰太阳历中的年份. <br>{{note}}1941年前后,本条目可能与依泰历的真实计算方式出的年份有变化.
| 泰太阳历中的年份. <br>{{memo|1941年前后,本条目可能与依泰历的真实计算方式出的年份有变化.}}
| {{#time:xkY}}
| {{#time:xkY}}
|-
|-
第949行: 第949行:
这是一个布尔参数,其值是通过转换(casting)参数值来确定的(有关如何将字符串转换为布尔值的详细信息,请参阅[https://php.net/language.types.boolean#language.types.boolean.casting 官方PHP文档])。
这是一个布尔参数,其值是通过转换(casting)参数值来确定的(有关如何将字符串转换为布尔值的详细信息,请参阅[https://php.net/language.types.boolean#language.types.boolean.casting 官方PHP文档])。


{{note|2=reminder|1=请注意,如果{{phpi|$wgLocaltimezone}}设为<code>UTC</code>,则当<code>local</code>设为<code>true</code>或<code>false</code>时输出无区别。}}
{{memo|2=reminder|1=请注意,如果{{phpi|$wgLocaltimezone}}设为<code>UTC</code>,则当<code>local</code>设为<code>true</code>或<code>false</code>时输出无区别。}}


参考下面的详细示例:
参考下面的详细示例:
第1,067行: 第1,067行:
:<code><nowiki>{{#timel:</nowiki> ''format string'' <nowiki>|</nowiki> ''date/time object'' <nowiki>|</nowiki> ''language code'' <nowiki>}}</nowiki></code>
:<code><nowiki>{{#timel:</nowiki> ''format string'' <nowiki>|</nowiki> ''date/time object'' <nowiki>|</nowiki> ''language code'' <nowiki>}}</nowiki></code>


{{note|2=reminder|1=请注意,如果变量{{phpi|$wgLocaltimezone}}设为<code>UTC</code>,则当<code>local</code>设为<code>true</code>或<code>false</code>时输出无区别。}}
{{memo|2=reminder|1=请注意,如果变量{{phpi|$wgLocaltimezone}}设为<code>UTC</code>,则当<code>local</code>设为<code>true</code>或<code>false</code>时输出无区别。}}


[[File:Time-Timel.png|thumb|使用#time和#timel解析器函数的示例,其中服务器处于非UTC时区]]
[[File:Time-Timel.png|thumb|使用#time和#timel解析器函数的示例,其中服务器处于非UTC时区]]
第1,206行: 第1,206行:
所有这些函数都以[[大O符号|O(n)]]的时间复杂度运行,使其能够抵御[[DoS|DoS]]攻击。
所有这些函数都以[[大O符号|O(n)]]的时间复杂度运行,使其能够抵御[[DoS|DoS]]攻击。


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
# 这些函数的部分参数通过全局设置进行限制,以防止滥用。 参见后面的[[#Limits|限制]]段落。
# 这些函数的部分参数通过全局设置进行限制,以防止滥用。 参见后面的[[#Limits|限制]]段落。
# 对于区分大小写的函数,在某些情况下,可以使用[[Special:MyLanguage/Help:Magic words|魔术字]]<code><nowiki>{{</nowiki>lc:''string''<nowiki>}}</nowiki></code>来解决。
# 对于区分大小写的函数,在某些情况下,可以使用[[Special:MyLanguage/Help:Magic words|魔术字]]<code><nowiki>{{</nowiki>lc:''string''<nowiki>}}</nowiki></code>来解决。
第1,215行: 第1,215行:
=== #len ===
=== #len ===


{{Note|1=<code>#len</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}
{{memo|1=<code>#len</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}


<nowiki/>#len函数返回指定字符串的长度。
<nowiki/>#len函数返回指定字符串的长度。
第1,225行: 第1,225行:
如果未指定字符串,则返回值为零。
如果未指定字符串,则返回值为零。


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
* 此函数可安全处理UTF-8多字节字符。 例如:
* 此函数可安全处理UTF-8多字节字符。 例如:
** <code>{{#len:Žmržlina}}</code> → <code>8</code>
** <code>{{#len:Žmržlina}}</code> → <code>8</code>
第1,240行: 第1,240行:
=== #pos ===
=== #pos ===


{{Note|1=<code>#pos</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}
{{memo|1=<code>#pos</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}


<nowiki/>#pos函数返回给定搜索词在字符串中的位置。
<nowiki/>#pos函数返回给定搜索词在字符串中的位置。
第1,253行: 第1,253行:
如果没有找到''搜索词'',函数返回空字符串。
如果没有找到''搜索词'',函数返回空字符串。


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
* 该函数是大小写敏感的。
* 该函数是大小写敏感的。
* ''搜索词''允许的最大长度限制取决于全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]。
* ''搜索词''允许的最大长度限制取决于全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]。
第1,262行: 第1,262行:
=== #rpos ===
=== #rpos ===


{{Note|1=<code>#rpos</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}
{{memo|1=<code>#rpos</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}


<nowiki />#rpos函数返回给定搜索词在字符串中的最后位置。
<nowiki />#rpos函数返回给定搜索词在字符串中的最后位置。
第1,275行: 第1,275行:
{{demo-inline|1=使用该函数搜索最后一个分隔符时,给结果添加+1以检索最后一个分隔符之后的位置。 这在找不到分隔符时也有效,因为“-1 + 1”为零,也就是指定值的开头。}}
{{demo-inline|1=使用该函数搜索最后一个分隔符时,给结果添加+1以检索最后一个分隔符之后的位置。 这在找不到分隔符时也有效,因为“-1 + 1”为零,也就是指定值的开头。}}


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
* 该函数是大小写敏感的。
* 该函数是大小写敏感的。
* ''搜索词''允许的最大长度限制取决于全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]。
* ''搜索词''允许的最大长度限制取决于全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]。
第1,284行: 第1,284行:
=== #sub ===
=== #sub ===


{{Note|1=<code>#sub</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}
{{memo|1=<code>#sub</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}


<nowiki/>#sub函数返回指定字符串中的子字符串(substring)。
<nowiki/>#sub函数返回指定字符串中的子字符串(substring)。
第1,319行: 第1,319行:
<code><nowiki>{{#sub:Icecream|-3|2}}</nowiki></code>返回<code>ea</code>。
<code><nowiki>{{#sub:Icecream|-3|2}}</nowiki></code>返回<code>ea</code>。


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
* 如果''length''参数为零,则完全不会用于截断。
* 如果''length''参数为零,则完全不会用于截断。
** 例如: <code><nowiki>{{#sub:Icecream|3|0}}</nowiki></code>返回<code>cream</code>。 <code><nowiki>{{#sub:Icecream|0|3}}</nowiki></code>返回<code>Ice</code>。
** 例如: <code><nowiki>{{#sub:Icecream|3|0}}</nowiki></code>返回<code>cream</code>。 <code><nowiki>{{#sub:Icecream|0|3}}</nowiki></code>返回<code>Ice</code>。
第1,330行: 第1,330行:
=== #count ===
=== #count ===


{{Note|1=<nowiki/><code>#count</code>解析器函数是在1.2.0版本添加到nsp=0扩展中的。}}
{{memo|1=<nowiki/><code>#count</code>解析器函数是在1.2.0版本添加到nsp=0扩展中的。}}


<nowiki/>#count函数返回指定子字符串在提供的文本中出现的次数。
<nowiki/>#count函数返回指定子字符串在提供的文本中出现的次数。
第1,338行: 第1,338行:
=== #replace ===
=== #replace ===


{{Note|1=<code>#replace</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}
{{memo|1=<code>#replace</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}


<nowiki/>#replace函数返回指定的字符串,并将所有搜索词出现的地方替换成替换词。
<nowiki/>#replace函数返回指定的字符串,并将所有搜索词出现的地方替换成替换词。
第1,348行: 第1,348行:
如果''replacement term''未指定或者为空,则所有''search term''都会从''string''中移除。
如果''replacement term''未指定或者为空,则所有''search term''都会从''string''中移除。


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
* 该函数是大小写敏感的。
* 该函数是大小写敏感的。
* ''search term''允许的最大长度限制取决于全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]。
* ''search term''允许的最大长度限制取决于全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]。
第1,373行: 第1,373行:
=== #explode ===
=== #explode ===


{{Note|1=<code>#explode</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}
{{memo|1=<code>#explode</code>解析器函数是在1.2.0版本从nsp=0扩展合并的。}}


<nowiki/>#explode函数将指定的字符串分成多个片段,返回其中一段。
<nowiki/>#explode函数将指定的字符串分成多个片段,返回其中一段。
第1,399行: 第1,399行:
返回的值是第''position''个片段。如果片段数量少于''position''指定的,则返回空字符串。
返回的值是第''position''个片段。如果片段数量少于''position''指定的,则返回空字符串。


{{note|1=<nowiki/>
{{memo|1=<nowiki/>
* 该函数是大小写敏感的。
* 该函数是大小写敏感的。
* ''delimiter''允许的最大长度限制由全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]指定。
* ''delimiter''允许的最大长度限制由全局设置[[#$wgStringFunctionsLimitSearch|$wgStringFunctionsLimitSearch]]指定。