欢迎来到THBWiki!
如果您是第一次来到这里,请点击右上角注册一个帐户
有任何意见、建议、求助、反馈都可以在
讨论板
提出
THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正
查看“帮助:解析函数”的源代码
←
帮助:解析函数
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
少女
您没有权限编辑
帮助
命名空间内的页面。
您可以查看和复制此页面的源代码。
== 所有函数均适用的注意事项 == 以下是一个'''解析函数'''的基本格式: :<code><nowiki>{{#</nowiki>'''函数名''': '''参数1''' | '''参数2''' | '''...''' | '''参数n''' <nowiki>}}</nowiki></code> 在页面中写上如此一般的代码后,后台解析页面是就会呼叫'''解析函数'''“函数名”,并传入相应的'''参数'''。如果输入的'''参数'''内同样的含有函数(或模板等需要展开运算的代码),'''解析器'''将会先运算和展开'''参数'''里的代码。这种先后次序与数学公式中的括号是同等效果,由内至外逐一展开运算。 对于扩展插件开发者来说,可以通过对<code>Parser::setFunctionHook</code>传入各种参数稍微改变'''解析函数'''的引用格式: * 可以去掉'''函数'''名前面的井号“#”,让格式更简单,更靠拢模板。 : 例如:<code><nowiki>{{color: red | 文字 }}</nowiki></code> → <code>{{color: red | 文字 }}</code>([[#color|color用法]]) * 可以禁止对传入的'''参数'''自动展开,这个设定非常有用,对于一些'''参数'''复杂、经常需要包含其他代码的'''函数'''来说,这样省了却大量的<nowiki></nowiki>。 : 例如:<code><nowiki>{{#arraymap: 1,2,3 | , | @ | {{#expr: @+10}} | / }}</nowiki></code> → <code>{{#arraymap: 1,2,3 | , | @ | {{#expr: @+10}} | / }}</code>([[#expr|expr用法]]) * 可以强制'''解析器'''展开输出的内容,通常配合上一条使用,常见用法是先获取未展开的代码,经过处理和拼合后一并展开。对一般编辑者没什么影响。 * 可以让'''解析器'''对输出的内容进行nowiki处理。对一般编辑者没什么影响。 * 还有其他几种对输出的内容进行额外处理或禁止自动处理的设定,均对一般编辑者没什么影响。 但有几个重要特性是没有任何方法改变的,即使你是扩展插件开发者: * '''解析函数'''的第一个'''参数'''(紧接冒号“:”的“'''参数1'''”)必定会自动被展开,即使使用了前述的方法,最多也只能防止'''参数2'''及以后的'''参数'''被展开。因为这个特性,开发者一般都不会把复杂的'''参数'''放在第一。另外在第一个'''参数'''的内容中使用<nowiki></nowiki>通常都会引致非预期的效果,应尽量避免。 * '''解析函数'''所有'''参数'''都必定会自动被修剪(trim,去掉头尾的空白字符,例如半形空格和换行),如果需要输入纯空白字符的字串、或者需要输入由空白字符开始或结束的字串,则需要使用<nowiki></nowiki>包裹输入的内容。常见情况是输入分隔符'''参数'''时,需要输入“, ”的话,就必须写“<nowiki>, </nowiki>”,使用“&nbsp;”不会有你预期的效果。 * 不能直接使用管道符“{{!}}”,要么管道符存在于其他'''函数'''或模板中,否则必须使用“<nowiki>{{!}}</nowiki>”。 : 这样可以:<code><nowiki>{{#arraymap: 1,2,3 | , | @ | {{color: red </nowiki>{{color:red|{{!}}}}<nowiki> E-@}} | / }}</nowiki></code> → <code>{{#arraymap: 1,2,3 | , | @ | {{color: red | E-@}} | / }}</code> : 这样不可以:<code><nowiki>{{#arraymap: 13,14,19 | , | @ | 伊@ | </nowiki>{{color:red|{{!}}}}<nowiki> }}</nowiki></code> → <code>{{#arraymap: 13,14,19 | , | @ | 伊@ | | }}</code>(使用管道符作为输出分隔符,[[#arraymap|arraymap用法]]) : 这样才可以:<code><nowiki>{{#arraymap: 13,14,19 | , | @ | 伊@ | </nowiki>{{color:red|<nowiki>{{!}}</nowiki>}}<nowiki> }}</nowiki></code> → <code>{{#arraymap: 13,14,19 | , | @ | 伊@ | {{!}} }}</code> 其他注意事项: * 某些'''函数'''对“该'''参数'''的值为空白”及“缺少该'''参数'''”的理解会有差异,导致运算处理和最终输出出现差错,需要留意该'''函数'''有没有这种设定。例如[[#regex|regex]]就有这种设定。 * 字符本身和对应的HTML实体(HTML Entity<ref>https://www.w3schools.com/html/html_entities.asp</ref>)不一定会受到一致的处理,甚至不会相互等于,需要留意'''函数'''是否会将输入解码或将输出编码。 * 如果'''函数'''突然出现不符合预期的输出,那很有可能是你忘记了对某些特殊字符转义。 * '''参数'''内容的前后可以随意添加空格和换行,可以适当使用让排版更整齐易懂。
返回
帮助:解析函数
。
导航菜单
个人工具
创建账号
登录
命名空间
帮助
讨论
查看
阅读
源码
查看历史
更多
搜索
常用
首页
东方Project
上海爱丽丝幻乐团
ZUN
幻想乡
幻想乡年表
东方年表
东方同人规约
近期新闻
沙盒(建议使用)
讨论板
加入我们
官方作品
官方游戏
旧作
东方灵异传
东方封魔录
东方梦时空
东方幻想乡
东方怪绮谈
东方红魔乡
东方妖妖梦
东方永夜抄
东方花映塚
东方风神录
东方地灵殿
东方星莲船
东方神灵庙
东方辉针城
东方绀珠传
东方天空璋
东方鬼形兽
东方虹龙洞
东方兽王园
小数点射击游戏
东方文花帖
东方文花帖DS
妖精大战争
弹幕天邪鬼
秘封噩梦日记
弹幕狂们的黑市
黄昏边境合作游戏
东方萃梦想
东方绯想天
东方非想天则
东方心绮楼
东方深秘录
东方凭依华
东方刚欲异闻
官方音乐
原曲列表
非音乐CD音乐列表
音乐CD曲目列表
蓬莱人形
莲台野夜行
梦违科学世纪
卯酉东海道
大空魔术
未知之花 魅知之旅
鸟船遗迹
伊奘诺物质
燕石博物志
旧约酒馆
虹色的北斗七星
七夕坂梦幻能
幺乐团的历史系列
幺乐团的历史 vol.1
幺乐团的历史 vol.2
幺乐团的历史 vol.3
幺乐团的历史 vol.4
幺乐团的历史 vol.5
格斗游戏OST
幻想曲拔萃
全人类的天乐录
核热造神非想天则
暗黑能乐集心绮楼
深秘乐曲集
深秘乐曲集·补
完全凭依唱片名录
贪欲之兽的音乐
商业出版物附带CD
官方书籍
东方香霖堂
东方三月精
第一季
月之妖精
第二季
第三季
第四季
东方文花帖
风之号外
东方紫香花
六十年不见的紫香花
东方儚月抄
漫画
小说
四格
东方茨歌仙
东方铃奈庵
东方醉蝶华
东方智灵奇传
东方求闻史纪
记忆幻想乡
东方求闻口授
魔理沙的魔法书
宇佐见的魔法书
东方外来韦编
东方文果真报
东方人妖名鉴
宵暗篇
常世篇
幻想Narrato Graph
官方角色
公式资料
附带文档
游戏对话
官方作品光盘信息
角色自称用词表
官作译名更改记录
原作物品列表
出典文献列表
其他ZUN参与的作品
西方Project
黄昏酒场
东方关联人物
游戏攻略
东方相关活动
从第二家开始的广播
东方STATION
数码游戏博览会
PoriPori☆Club
niconico超会议
斗会议
niconico原创游戏祭
枯萎Radio
GDGD
其他相关项目
东方我乐多丛志
东方四方山新闻
Play,Doujin!
东方电书流通
东方音乐流通
二次创作与活动
展会及活动导航
Comic Market
博丽神社例大祭
博丽神社例大祭SP
博丽神社秋季例大祭
博丽神社例大祭in台湾
海外博丽神社例大祭
博丽神社歌谣祭
博丽神社崇敬会相关活动
COMICUP
上海THONLY
东方Only活动
东方红楼梦
角色Only活动
作品Only活动
地区Only活动
其他地区举办的展会
其他展会
M3
COMIC1
展会作品列表
展会作品数量
展会同人志列表
展会专辑列表
展会软件列表
展会视频列表
商业二次创作
电脑游戏
东方月神夜
家用机游戏
Play,Doujin
手机游戏
东方大炮弹
东方LostWord
东方Dungeon Dive
东方弹幕神乐
东方幻想Eclipse
同人二次创作
同人社团列表
同人志分类
同人专辑分类
同人专辑搜索
原曲作品数量
同人软件列表
Steam游戏列表
同人角色列表
同人视频列表
其他形式同人
同人文章列表
同人画师列表
同人封面角色
东方相关周边
PVCFigure
GarageKit
小型物品
其他形式周边
MUGEN
THB相关项目
THB策划
中文东方人气投票
东深见讲坛
幻想乡柱状地图
THB衍生
同人专辑搜索
原曲认知测验
东方相关QQ群组列表
THB媒体
微博
Bilibili
直播间
GitHub
THB协力
博丽神主ZUN微博
东方我乐多丛志
MineCraft幻想乡
京都幻想剧团
幻奏盛宴
功能与帮助
最近更改
随机浏览
编写规范
收录方针
命名规范
同人社团
同人音乐
封面图片
二次设定
编辑帮助
基础帮助
常用模板
进阶代码
函数用法
编写翻译表
语义维基
样式类用法
颜色列表
工具
链入页面
相关更改
特殊页面
页面信息
其他
联系管理员
关于THBWiki
捐款支持
语言
English
italiano
日本語
中文