Как разобрать и проверить содержимое внешней ссылки в плагине dokuwiki
Я пытался сделать это так в моем плагине.
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);
}
но Паттен не соответствует ничему.
Вот пример разметки:
[[http://@testDomain@/test|testDomain]]
1 ответ
Я боюсь, что содержание [[ ]]
обрабатывается либо режимом внутренней связи, либо внешней ссылкой.
Эти режимы не настроены для принятия любого другого режима (из-за реализации accepts
который здесь ничего не принимает).
Что вы могли бы сделать, это:
- Подходим весь шаблон. то есть: не только то, что внутри
@..@
, а что внутри[[ ]]
- Определите приоритет меньше, чем один из
internallink
(300) и один из внешних ссылок (330). (Следовательно, 299 уже в порядке)
Чтобы справиться с этим, вы можете захотеть положиться на internallink
метод renderer