Используйте $parser->recursiveTagParse()
, как показано на Вручную: Tag_extensions # Как отобразить вики-текст в моем расширении? .
Это немного неуклюжий интерфейс, и не очень хорошо документированный. Основная причина, почему такая, казалось бы, естественная вещь, которую так трудно сделать, заключается в том, что она идет вразрез с первоначальным замыслом разработки расширений тегов & mdash; они изначально задумывались как низкоуровневые фильтры, которые принимают необработанный неразобранный текст и выплевывают HTML, полностью обходя обычный синтаксический анализ. Так, например, если вы хотите включить некоторый контент, написанный в Markdown (например, сообщение StackOverflow) на вики-страницу, идея состояла в том, чтобы вы могли установить подходящее расширение и затем написать
<markdown>
**Look,** here's some Markdown text!
</markdown>
на странице, и анализатор MediaWiki оставит все между тегами в одиночку и просто передаст его расширению для анализа.
Конечно, оказалось, что большинство людей, которые написали расширения тегов MediaWiki, на самом деле не хотели заменять анализатор, а просто применяли к нему некоторые настройки. Но способ, которым был настроен интерфейс расширения тега, единственный способ сделать это - вызвать рекурсивный вызов синтаксического анализатора. Иногда я думал, что было бы неплохо добавить новый тип расширения парсера в MediaWiki, что-то, что выглядело как расширение тега, но не прерывало нормальный анализ таким радикальным образом. Увы, моей мотивации и обильного свободного времени пока недостаточно, чтобы что-то с этим сделать.