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
Aucun résumé des modifications
Balise : Révocation manuelle
 
(3 versions intermédiaires par le même utilisateur non affichées)
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)

s = mw.ustring.gsub(s, "%pM", "")
-- Suppression des diacritiques (accents)
s = mw.ustring.gsub(s, "%pM", "")

-- 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

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