帮助:解析函数/len
len是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
len
计算字符串长度。出自扩展 ParserFunctions 的String functions大规模使用时性能低下,推荐使用Lua模块。请参考扩展置顶警告和MediaWiki代码库 r51497中的暴论“parsers in the ugliest, most inefficient programming language known to man: MediaWiki wikitext with ParserFunctions.”、“WARNING: enabling this may have an adverse impact on the sanity of your users.”。
获取wikitext解析后的字符数量,支持多字节字符计算。
语法
{{#len: 字符串 }}
- 字符串(可选):需要计算长度的文本内容,留空时返回0
函数计算时会自动忽略文本首尾空格,但保留中间空格和换行符。HTML实体按源码形式计算长度。
示例
- 基础计算
{{#len: Žmržlina九 }}
→ 9 - 基础计算
{{#len: 张王李赵1234 }}
→ 8 - HTML实体
{{#len:   }}
→ 5 - 会被替换为解析标记(Strip marker)的标签
{{#len: <a>Hello</a>tt }}
→ 2{{#len: <gallery>Hello</gallery>tt }}
→ 2{{#len: <ref>Hello</ref>tt }}
→ 2
- 直接渲染的标签
{{#len: <div>Hello</div>tt }}
→ 18{{#len: <span>Hello</span>tt }}
→ 20
底层代码
- 代码逻辑:
- 首先清除字符串中的解析标记(Strip marker)
- 使用PHP支持多字节的字符串长度计算函数 mb_strlen 计算精确字符数
实际用例
- 一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。
碧蓝航线 - blhx
明日方舟 - arknights
恋与深空 - lysk
崩坏:星穹铁道 - sr
坎特伯雷公主与骑士唤醒冠军之剑的奇幻冒险 - gt
黑神话:悟空 - wukong
白荆回廊 - bjhl
地下城堡3 - dxcb3
铃兰之剑 - llzj
天地劫 - tdj
剑网3 - jx3
洛克王国:手游 - rocom
我的世界地下城 - mcd
斯普拉遁3 - spld3
环行旅舍 - kelaiyinshe
失落的龙约 - sldly
妃十三学园 - alterna
神代梦华谭 - sdmht
《逃离塔科夫》官方 Wiki(镜像) - eft
Chronicon - chronicon
- ↑ Hello