« Module:Episode/index » : différence entre les versions
Apparence
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 6 : | Ligne 6 : | ||
s = s or "" |
s = s or "" |
||
s = mw.text.trim(s) |
s = mw.text.trim(s) |
||
-- Décomposition Unicode |
|||
s = mw.ustring.toNFD(s) |
s = mw.ustring.toNFD(s) |
||
| ⚫ | |||
-- Suppression des diacritiques (accents) |
|||
| ⚫ | |||
-- Normalisation apostrophes |
|||
s = mw.ustring.gsub(s, "[’‘´`]", "'") |
s = mw.ustring.gsub(s, "[’‘´`]", "'") |
||
-- Guillemets |
|||
s = mw.ustring.gsub(s, "[“”]", "\"") |
s = mw.ustring.gsub(s, "[“”]", "\"") |
||
-- Tirets |
|||
s = mw.ustring.gsub(s, "[–—−]", "-") |
s = mw.ustring.gsub(s, "[–—−]", "-") |
||
-- Espaces multiples |
|||
s = mw.ustring.gsub(s, "%s+", " ") |
s = mw.ustring.gsub(s, "%s+", " ") |
||
return mw.ustring.lower(mw.text.trim(s)) |
return mw.ustring.lower(mw.text.trim(s)) |
||
end |
end |
||
Version du 31 mai 2026 à 20:40
| 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