Modèle:Crafts Utilisant : Différence entre versions

De Wiki'speria
Aller à : navigation, rechercher
(Correctif du modèle)
 
(4 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 4 : Ligne 4 :
 
   |uses=Template:Grid/Crafting Table
 
   |uses=Template:Grid/Crafting Table
 
   |includepage={Grid/Crafting Table}
 
   |includepage={Grid/Crafting Table}
   |includematch=/[ABC][123]\s*=\s*{{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}[\s]*(\{{!}}{{!}}\n)/s
+
   |includematch=/[ABC][123]\s*=\s*([^\x2c{{!}}]*\x2c\s*)*{{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}\s*[\x7d\x2c{{!}}\n]/s
 
   |noresultsheader=  
 
   |noresultsheader=  
   |format  = ,\n* [[%PAGE%|%TITLE%]]\n,,
+
   |format  = ,\n* \n,,
 
}}
 
}}
 
{{#dpl:
 
{{#dpl:
Ligne 12 : Ligne 12 :
 
   |uses=Template:Grid/Furnace
 
   |uses=Template:Grid/Furnace
 
   |includepage={Grid/Furnace}
 
   |includepage={Grid/Furnace}
   |includematch=/Input\s*=\s*{{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}[\s]*(\{{!}}{{!}}\n)/s
+
   |includematch=/Input\s*=\s*([^\x2c{{!}}]*\x2c\s*)*{{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}\s*[\x7d\x2c{{!}}\n]/s
 
   |noresultsheader=  
 
   |noresultsheader=  
   |format  = ,\n* [[%PAGE%|%TITLE%]]\n,,
+
   |format  = ,\n* \n,,
 
}}
 
}}
 
{{#dpl:
 
{{#dpl:
Ligne 20 : Ligne 20 :
 
   |uses=Template:Grid/Brewing Stand
 
   |uses=Template:Grid/Brewing Stand
 
   |includepage={Grid/Brewing Stand}
 
   |includepage={Grid/Brewing Stand}
   |includematch=/Input\s*=\s*{{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}[\s]*(\{{!}}{{!}}\n)/s
+
   |includematch=/Input\s*=\s*([^\x2c{{!}}]*\x2c\s*)*{{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}\s*[\x7d\x2c{{!}}\n]/s
 
   |noresultsheader=  
 
   |noresultsheader=  
   |format  = ,\n* [[%PAGE%|%TITLE%]]\n,,
+
   |format  = ,\n* \n,,
 
}}
 
}}
 
</includeonly>
 
</includeonly>
 
<noinclude>
 
<noinclude>
 
Ce template sert à lister tous les crafts (crafts, cuisson, alchimie) prenant dans leur recette un objet précis.<br />
 
Ce template sert à lister tous les crafts (crafts, cuisson, alchimie) prenant dans leur recette un objet précis.<br />
Par exemple, pour lister tous les crafts contenant un bloc d'argile :
+
Par exemple, pour lister tous les crafts contenant un lingot de fer :
 
   <nowiki>{{Crafts Utilisant|Lingot de Fer}}</nowiki>
 
   <nowiki>{{Crafts Utilisant|Lingot de Fer}}</nowiki>
 
<br />donne :
 
<br />donne :
Ligne 36 : Ligne 36 :
  
 
===Note===
 
===Note===
La recherche est large, par exemple, si vous mettez "Fer", tout ce qui contiendra "Fer" sera pris en compte, les blocs, les objets, les armures, les armes, les outils, bref tout ce qui est en fer.
+
Note pour qui voudra reprendre ce template :
 
+
<nowiki>\s*
Si vous voulez toutes les recettes contenant Argile (bloc) et Argile (objet), mettez juste "Argile" comme paramètre.
+
([^\x2c{{!}}]*\x2c\s*)*
</noinclude>
+
{{#replace:{{{1|{{#replace:{{PAGENAME}}|&#39;|'}}}}}|([()\\+*.?'])|\\\1}}
 +
\s*[\x2c{{!}}\n]/s</nowiki>
 +
Déjà, \x2c c'est une virgule et \x7d c'est }<br />
 +
La première partie sert à faire qu'il puisse y avoir d'autres éléments dans le même paramètres, séparés par des virgules.<br />
 +
Le 2eme élément c'est pour remettre les appostrophes comme il faut, puis échapper certains caractères.<br />
 +
Et pour finir, on vérifie que c'est bien la fin d'un item (Laine Grise != Laine Grise Clair)
 +
[[Category:Modèle]]</noinclude>

Version actuelle datée du 5 mai 2019 à 14:47


Ce template sert à lister tous les crafts (crafts, cuisson, alchimie) prenant dans leur recette un objet précis.
Par exemple, pour lister tous les crafts contenant un lingot de fer :

 {{Crafts Utilisant|Lingot de Fer}}


donne :

     



Si vous laissez le paramètre vide, il sera automatiquement remplacé par le nom de la page.

Note

Note pour qui voudra reprendre ce template :

\s*
 ([^\x2c{{!}}]*\x2c\s*)*
 {{#replace:{{{1|{{#replace:{{PAGENAME}}|'|'}}}}}|([()\\+*.?'])|\\\1}}
 \s*[\x2c{{!}}\n]/s

Déjà, \x2c c'est une virgule et \x7d c'est }
La première partie sert à faire qu'il puisse y avoir d'autres éléments dans le même paramètres, séparés par des virgules.
Le 2eme élément c'est pour remettre les appostrophes comme il faut, puis échapper certains caractères.
Et pour finir, on vérifie que c'est bien la fin d'un item (Laine Grise != Laine Grise Clair)