Разбор в регулярном выражении MediaWiki DPL - PullRequest
1 голос
/ 18 мая 2011

Я пытаюсь использовать магическое слово {{PAGENAME}} в регулярном выражении, чтобы включить статью, основанную на значении параметра, передаваемого в шаблон. Когда я использую следующий оператор с жестко запрограммированным названием статьи, он правильно выбирает нужные статьи:

includematch = /reportType\s*=\s*AccountReport/s

Однако, когда я включаю DPL в статью AccountReport, следующее не работает:

includematch = /reportType\s*=\s*{{PAGENAME}}/s

Кто-нибудь знает, что я делаю не так? {{PAGENAME}} анализируется перед использованием в регулярном выражении или он пытается соответствовать литеральной строке?

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Способ чтения dpl-кода делает невозможным чтение магического слова.Вместо этого используйте расширение dpl:

{{#dpl|code goes here}}
1 голос
/ 18 мая 2011

Я использовал тег DPL <dpl>, но он не анализировал {{PAGENAME}} до применения регулярного выражения. Когда я изменил его на использование функции синтаксического анализатора {{#dpl:, тогда {{PAGENAME}} был оценен и использован в регулярном выражении, как мне требовалось.

...