L'un des "langages de programmation" les plus intéressants avec lesquels j'ai été récemment confronté est celui des modèles MediaWiki. Vous pouvez faire une quantité surprenante de choses avec la syntaxe limitée qu'ils vous donnent, mais récemment, j'ai rencontré un problème qui me dérange: l'utilisation de fonctions de chaîne sur les arguments de modèle. Ce que je voudrais faire (un peu simplifiée) est:Fonctions de chaîne dans le modèle MediaWiki?
{{myTemp|a=1,2,3,4}}
puis écrire un modèle qui peut faire une sorte de magie comme
You told me _a_ starts with {{#split:{{{a}}}, ",", 0}}
À l'heure actuelle, je peux le faire avec javascript intégré, capturer la correspondance regexp, et document.write, mais a) c'est énorme, b) c'est hacky, et c) ça va se casser horriblement si quelqu'un éteint javascript. (Notez que « split » est simplement un exemple, concaténer, correspondant de capture d'expressions rationnelles, etc., serait encore mieux)
Je réalise la bonne solution est d'avoir l'appelant invoque le modèle avec des arguments distincts, mais pour diverses raisons, ce serait difficile dans mon cas particulier. Si ce n'est tout simplement pas possible, je suppose que c'est la réponse, mais si est un moyen de faire des modèles de manipulation de chaînes sur le back-end, ce serait génial.
Voulez-vous accepter l'une des réponses et procéder à un vote? – Wikis
Les deux bonnes réponses, mais j'ai choisi relet spécifiquement parce que je cherchais un support regexp – Coderer