帮助:解析函数/padright
padright是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
padright
从右侧填充字符串。MediaWiki原生支持。
将指定字符串填充到原字符串的右侧,直到达到要求的长度。支持多字节字符(如中文)并确保安全处理Unicode。
也可用于从右侧截取字符串,或重复指定文本。
与padright相同,只是填充方向相反,当原字符串为空时,这两个函数的行为一致。
- 官方文档:MediaWiki文档
语法
{{padright: 原字符串 | 目标长度 | 填充字符串 }}
- 原字符串:需要被填充的字符串
- 目标长度:填充后的总字符数(最大500)
- 填充字符串(可选):用于填充的字符串,默认为"0"
填充时会循环使用填充字符串直到达到目标长度。如果原字符串已长于目标长度,则不做任何处理。
示例
- 默认填0
{{padright: xyz | 5 }}
→ xyz00 - 中文填充
{{padright: 啊哈 | 5 | 填充 }}
→ 啊哈填充填 - 超长原文
{{padright: 这个字符串太长了 | 5 | 填 }}
→ 这个字符串太长了 - 截断填充
{{padright: | 3 | abcde }}
→ abc - 重复输出
{{padright: | {{#expr:{{#len: abc }} * 3 }} | abc }}
→ abcabcabc
更多示例
{{padright: 啊哈 | 5 | 填<span>充</span> }}
→ 啊哈填<s (允许的html标签可用){{padright: 啊哈 | 17 | 填<span>充</span> }}
→啊哈填<span>充</span>
→ 啊哈填充 (允许的html标签可用){{padright: 啊哈 | 5 | 填<a>充</a> }}
→ 啊哈填填填 (解析器扩展标签会被移除){{padright: 啊哈 | 1000 | 123456789- }}
→ 啊哈123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12345678(最大处理长度为500)
底层代码
- 代码逻辑:
- 清理 填充字符串 中的解析标记(Strip marker)
- 检查 填充字符串 是否有效(非空)。无效直接返回原字符串
- 检查 目标长度,限制最大值为500
- 检查 要填充的字符串长度(目标长度 - 原字符串长度) ,小于0直接返回原字符串
- 循环构建要填充的字符串,直到达到目标长度
- 如果填充字符串长度不匹配需求,会截取部分内容
- 拼接到原字符串右侧
实际用例
- 一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。
- 尚未收录。可以参考padright。