« 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évocation manuelle |
||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 13 : | Ligne 13 : | ||
s = mw.ustring.gsub(s, "%pM", "") |
s = mw.ustring.gsub(s, "%pM", "") |
||
-- Normalisation apostrophes |
|||
-- Apostrophes typographiques → apostrophe simple |
|||
s = mw.ustring.gsub(s, "[’‘´`]", "'") |
s = mw.ustring.gsub(s, "[’‘´`]", "'") |
||
-- Guillemets |
-- Guillemets |
||
s = mw.ustring.gsub(s, "[“”]", "\"") |
s = mw.ustring.gsub(s, "[“”]", "\"") |
||
-- Tirets |
-- Tirets |
||
s = mw.ustring.gsub(s, "[–—−]", "-") |
s = mw.ustring.gsub(s, "[–—−]", "-") |
||
-- Espaces multiples |
-- Espaces multiples |
||
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 |
||
Dernière version du 31 mai 2026 à 20:48
| 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)
-- Suppression des diacritiques (accents)
s = mw.ustring.gsub(s, "%pM", "")
-- Normalisation apostrophes
s = mw.ustring.gsub(s, "[’‘´`]", "'")
-- Guillemets
s = mw.ustring.gsub(s, "[“”]", "\"")
-- Tirets
s = mw.ustring.gsub(s, "[–—−]", "-")
-- Espaces multiples
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