0

我试图在我的插件中这样做。

function getType(){ return 'substition'; }
function getSort(){ return 299; } 
function connectTo($mode) { 
  $this->Lexer->addSpecialPattern('@.+?@',$mode,'plugin_externallink');
}

function render($mode, &$renderer, $data) {
  print_r($data);
}

但 patten 不匹配任何东西。

这是标记示例:

[[http://@testDomain@/test|testDomain]]
4

1 回答 1

1

恐怕内容[[ ]]是由内部链接模式或外部链接处理的。

这些模式未配置为接受任何其他模式(因为其实现在accepts这里不接受任何内容)。

你可以做的是:

  • 匹配整个图案。即:不仅仅是里面的@..@东西,还有里面的东西[[ ]]
  • 定义小于internallink(300) 之一和外部链接 (330) 之一的优先级。(因此,299 已经可以了)

internallink 要处理它,您可能需要依赖renderer

于 2014-02-18T18:10:34.497 回答