« Module:Episode/index » : différence entre les versions
Apparence
Contenu supprimé Contenu ajouté
Aucun résumé des modifications Balise : Révoqué |
Aucun résumé des modifications Balise : Révoqué |
||
| Ligne 10 : | Ligne 10 : | ||
s = mw.ustring.toNFD(s) |
s = mw.ustring.toNFD(s) |
||
-- |
-- Tentative de suppression des accents (ancienne version) |
||
-- (pattern invalide mais qui ne supprimait rien → cohérent avec tes alias) |
|||
s = mw.ustring.gsub(s, " |
s = mw.ustring.gsub(s, "[\u0300-\u036F]", "") |
||
-- Apostrophes typographiques → apostrophe simple |
-- Apostrophes typographiques → apostrophe simple |
||
| Ligne 25 : | Ligne 26 : | ||
s = mw.ustring.gsub(s, "%s+", " ") |
s = mw.ustring.gsub(s, "%s+", " ") |
||
-- Minuscule + trim final |
|||
return mw.ustring.lower(mw.text.trim(s)) |
return mw.ustring.lower(mw.text.trim(s)) |
||
end |
end |
||
Version du 31 mai 2026 à 20:47
| Il sera peut-être nécessaire de créer une page documentation pour ce module Scribunto programmé dans la page créer Les éditeurs peuvent faire des tests sur les pages bac à sable (créer | miroir) et études de cas (créer) du module. Veuillez ajouter les catégories dans la sous-page /documentation. Sous-pages de ce module. |
local data = mw.loadData("Module:Episode/index/data")
local p = {}
local function normalize(s)
s = s or ""
s = mw.text.trim(s)
-- Décomposition Unicode
s = mw.ustring.toNFD(s)
-- Tentative de suppression des accents (ancienne version)
-- (pattern invalide mais qui ne supprimait rien → cohérent avec tes alias)
s = mw.ustring.gsub(s, "[\u0300-\u036F]", "")
-- Apostrophes typographiques → apostrophe simple
s = mw.ustring.gsub(s, "[’‘´`]", "'")
-- Guillemets typographiques → guillemets simples
s = mw.ustring.gsub(s, "[“”]", "\"")
-- Tirets typographiques → tiret simple
s = mw.ustring.gsub(s, "[–—−]", "-")
-- Espaces multiples → un seul espace
s = mw.ustring.gsub(s, "%s+", " ")
return mw.ustring.lower(mw.text.trim(s))
end
function p.get(key)
return data[normalize(key)]
end
return p