Dokuwiki 语法插件开发
对语法标签的匹配采用PHP preg
函数进行。
插件类需要实现以下方法:
getType()
返回此插件定义的模式类型。比如标签内部是纯文本等。getSort()
返回此插件的优先级。数字越小,优先级越高。比如:需要替换系统的<code>
标签。connectTo($mode)
用来向词法分析器Lexer注册模式匹配的正则表达式。postConnect()
当在connectTo()
中注册的是起始正则表达式,则需要实现此函数,注册中止正则表达式。handle($match, $state, $pos, Doku_Handler &$handler)
处理匹配出的内容,返回在渲染器中使用的内容。render($mode, Doku_Renderer &$renderer, $data)
渲染内容。
当需要的时候,可以重载以下方法:
getPType()
返回生成内容的段落的形式。getAllowedTypes()
返回允许内联的模式。(默认array()
)accepts($mode)
返回是否允许内联自己的模式。