Один из наиболее интересных "языков программирования", с которыми я в последнее время застрял, - это шаблоны MediaWiki.Вы можете сделать удивительное количество вещей с ограниченным синтаксисом, который они вам дают, но недавно я столкнулся с проблемой, которая ставит меня в тупик: использование строковых функций в аргументах шаблона.То, что я хотел бы сделать (несколько упрощенно):
{{myTemp|a=1,2,3,4}}
, а затем написать шаблон, который может творить какую-то магию, такую как
You told me _a_ starts with {{#split:{{{a}}}, ",", 0}}
В настоящее время я могу сделать этосо встроенным javascript, захватом соответствия регулярному выражению и document.write, но a) он огромен, b) он взломан и c) он ужасно сломается, если кто-нибудь отключит javascript.(Обратите внимание, что «split» является просто примером; конкатенация, сопоставление с захватом-регулярным выражением и т. Д. Было бы даже лучше)
Я понимаю, что правильное решение состоит в том, чтобы вызывающая сторона вызывалаШаблон с отдельными аргументами, но по разным причинам, что будет сложно в моем конкретном случае.Если это просто невозможно, я думаю, что это ответ, но если есть какой-то способ заставить шаблоны выполнять строковые манипуляции на серверной части, это было бы здорово.