Tools 是非官方社区Wiki。社区文档正在编写中,欢迎参与。 Wiki编辑答疑群:717421103
版本250722.2
全站通知:

帮助:解析函数/lc

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

lc是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。

lc

将字符串转换为小写形式MediaWiki原生支持。

该函数可将输入字符串转换为全小写形式,或仅首字母小写,支持多语言字符处理。

语法

{{lc: 文本 }}

  • 文本:需要转换小写的原始文本

示例

  • {{lc: ABCDefg}} → abcdefg
  • {{lc: QWER脸滚键盘 }} → qwer脸滚键盘
  • {{lc: 一二三壹贰叁 }} → 一二三壹贰叁

底层代码

来自MediaWiki及其扩展的源代码,运行在服务端。此处仅供快速查阅,便于更充分的挖掘其"特性"。

/** mediawiki-1.37.0\includes\parser\CoreParserFunctions.php
 * @param Parser $parser
 * @param string $s
 * @return string
 */
public static function lc( $parser, $s = '' ) {
	return $parser->markerSkipCallback( $s, [ $parser->getContentLanguage(), 'lc' ] );
}

/** mediawiki-1.37.0\includes\language\Language.php
 * @param string $str
 * @param bool $first Whether to lowercase only the first character
 * @return string The string with lowercase conversion applied
 */
public function lc( $str, $first = false ) {
	if ( $first ) {
		return $this->lcfirst( $str );
	} else {
		return $this->isMultibyte( $str ) ? mb_strtolower( $str ) : strtolower( $str );
	}
}
代码逻辑:
  • 根据平台语言选择处理方式,默认通用(对于MW1.37.0,仅Karakalpak、Kazakh和Turkish语言有特例)。
  • 转换小写前,先检测字符串是否包含多字节字符(如中文、特殊符号等)
    • 包含多字节字符:根据字符的 Unicode 属性,能转换任意具有“字母”属性的字符,例如元音变音 A(ä)。基于PHP函数 mb_strtolower
    • 不包含:转换所有 ASCII 字符。基于PHP函数 strtolower

实际用例

一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时仅供批判性参考
碧蓝航线 - blhx

明日方舟 - arknights

赛马娘 - umamusume

黑神话:悟空 - wukong

WIKI实验室 - tools

偶像大师灰姑娘女孩 - imascg

千年之旅 - elf

戴森球计划 - dsp

StardewValley星露谷物语 - stardewvalley

灰烬战线 - hjzx

魔法使的约定 - mahoyaku

骷髅女孩 - skullgirls

沙石镇时光 - mtas

都市天际线2 - csl2

falcon bms - falconbms

腐蚀 - rust

新怪谈:秘密实验室 - scpsl

异星工厂 - factorio