Aller au contenu

« Module:Episode/index » : différence entre les versions

De Stargate Wiki Sémantique
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Balise : Révoqué
Aucun résumé des modifications
Balise : Révocation manuelle
 
Ligne 10 : Ligne 10 :
s = mw.ustring.toNFD(s)
s = mw.ustring.toNFD(s)


-- Tentative de suppression des accents (ancienne version)
-- Suppression des diacritiques (accents)
s = mw.ustring.gsub(s, "%pM", "")
-- (pattern invalide mais qui ne supprimait rien → cohérent avec tes alias)
s = mw.ustring.gsub(s, "[\u0300-\u036F]", "")


-- Normalisation apostrophes
-- Apostrophes typographiques → apostrophe simple
s = mw.ustring.gsub(s, "[’‘´`]", "'")
s = mw.ustring.gsub(s, "[’‘´`]", "'")


-- Guillemets typographiques → guillemets simples
-- Guillemets
s = mw.ustring.gsub(s, "[“”]", "\"")
s = mw.ustring.gsub(s, "[“”]", "\"")


-- Tirets typographiques → tiret simple
-- Tirets
s = mw.ustring.gsub(s, "[–—−]", "-")
s = mw.ustring.gsub(s, "[–—−]", "-")


-- Espaces multiples → un seul espace
-- Espaces multiples
s = mw.ustring.gsub(s, "%s+", " ")
s = mw.ustring.gsub(s, "%s+", " ")



Dernière version du 31 mai 2026 à 20:48

Documentation icon Documentation module[créer]
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