社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103,点点小课堂(腾讯会议):5696651544
全站通知:
帮助:解析函数/anchorencode
刷
历
编
< 帮助:解析函数
跳到导航
跳到搜索
将字符串编码为URL锚点(URL井号后的部分)的格式。
为页面链接动态添加锚点时,它能确保锚点被正确编码。
- 语法
{{anchorencode: 字符串}}
- 例子
{{anchorencode:<h2>1 2 z á é</h2>}}
→ 1_2_z_á_é{{anchorencode:123:a/b/c d e f}}
→ 123:a/b/c_d_e_f{{anchorencode:《元气满满的亚龙人女仆》}}
→ 《元气满满的亚龙人女仆》
- 注意与urlencode不同
{{urlencode:123:a/c d f}}
→ 123%3Aa%2Fc+d+f
- 次要例子
{{anchorencode:[[User:Lu23333|诶嘿]]}}
→ 诶嘿{{anchorencode:[[Wiki:Skyrim]]}}
→ Wiki:Skyrim{{anchorencode:[[Page#Section]]}}
→ Page#Section{{anchorencode:我“以前”跟''你''一样是一个'''冒险者'''}}
→ 我“以前”跟你一样是一个冒险者{{anchorencode:[https://wiki.biligame.com BWIKI]}}
→ BWIKI{{anchorencode: ©B Wi _ __ _ Ki }}
→ ©B_Wi_Ki{{anchorencode:ISBN RFC \n PMID、<}}
→ISBN___RFC_\n_PMID、<
- 代码和行为
/** MediaWiki 1.37.0 CoreParserFunctions.php
* @param Parser $parser
* @param string $text.
* @return string
*/
public static function anchorencode( $parser, $text ) {
$text = $parser->killMarkers( $text );
$section = (string)substr( $parser->guessSectionNameFromWikiText( $text ), 1 );
return Sanitizer::safeEncodeAttribute( $section );
}
- line7: 移除所有标签,如例1
- line8: 移除、转换特定字符;如次要例子,该函数删除非法字符(移除HTML标签、移除粗体斜体的英文引号、清理链接; 合并多个空格、下划线为一个空格; 将字符引用如  A等转换为 UTF-8 字符串),只保留锚点部分
- line9:URL编码。包括调用PHP的htmlspecialchars函数,此外,还替换了\n \r \t < > " { } [ ] '' ISBN RFC PMID | 和 __ 为字符引用
- 相关概念
- 锚点,URL井号后的部分,代表一个网页上的位置。
- Wiki会自动为标题增加相同名字的锚点,也可以通过指定标签的id属性来设置标识符。比如:
- 指定ID:
<span id="diandian">...</span>
- 标题:
==hello lu==
生成的HTML是:<h2><span class="mw-headline" id="hello_lu">hello lu</span></h2>
- 标题:
==点点小课堂==
生成的HTML是:<h2><span id="..."></span><span class="mw-headline" id="点点小课堂">点点小课堂</span></h2>
- 指定ID:
- 一个带有锚点的URL能让页面滚动到指定位置。在打开的页面中修改URL锚点可以滚动页面到新位置,不重新加载页面。
- 基于此,锚点常被用于精确控制页面跳转,比如使用
[[#章节名]]
、[[页面#章节名]]
可以滚动页面到指定章节,或跳转其他页面的指定章节- 文档
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Iconbox - 都市天际线2
- 模板:神器图鉴模板 - 第七史诗
- Wiki笔记 - 方块方舟(PixARK)
- 方块方舟WIKI编辑小知识 - 方块方舟(PixARK)
- 模板:A - 偶像大师灰姑娘女孩
- 模板:Anchor - 女神转生
- 模板:To Megami Tensei Wiki - 女神转生
- 模板:A - 重返未来:1999
- 模板:Anchor - 上古卷轴5天际
- 模板:HE - 上古卷轴5天际
- 模板:Factionnav - 星际迷航OL
- 模板:SectionTabs - 战双帕弥什