« Module:Urldecode » : différence entre les versions

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
suite à 210405529, ici dans le module ce n'est plus nil mais une chaîne vide (lorsque le paramètre optionnel "2" n'est pas fourni au modèle {{urldecode}}, sinon bien entendu on a ici la valeur du paramètre)
corrige erreur Lua plus bas "paramètre nil dans string.gsub(), expected string", si un paramètre optionnel "2" avec une valeur incorrecte a été fourni au module, et donc que "ret" était restée à nil ; maintenant dans ce cas, le module retourne le paramètre "1" inchangé ; peut-être qu'on pourrait plutôt afficher une erreur ; noter que mw.uri.decode() produit une erreur s'il reçoit un paramètre "2" incorrect
Ligne 3 : Ligne 3 :
function p.urlDecode( frame )
function p.urlDecode( frame )
local enctype = frame.args[2]
local enctype = frame.args[2]
local ret
local ret = frame.args[1]
if frame.args[2] ~= nil and frame.args[2] ~= '' then
if frame.args[2] ~= nil and frame.args[2] ~= '' then
enctype = string.upper(enctype)
enctype = string.upper(enctype)

Version du 10 décembre 2023 à 02:30

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

La fonction urlDecode inverse la transformation par le mot magique {{urlencode:}}.

Exemples

  • {{#invoke:Urldecode|urlDecode|C%C3%B4te+d%27Ivoire}} donne : Côte d'Ivoire
  • {{#invoke:Urldecode|urlDecode|2+2|PATH}} donne : 2+2

Voir aussi

local p = {}

function p.urlDecode( frame )
	local enctype = frame.args[2]
	local ret = frame.args[1]
	if frame.args[2] ~= nil and frame.args[2] ~= '' then
		enctype = string.upper(enctype)
		if enctype == "QUERY" or enctype == "PATH" or enctype == "WIKI" then
			ret = mw.uri.decode(frame.args[1], enctype)
		end
	else
		ret = mw.uri.decode(frame.args[1])
	end
	ret = string.gsub(ret, "{", "{")
	ret = string.gsub(ret, "}", "}")

	return ret
end

return p