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

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
syntaxe shorthand
nitpicks
Ligne 2 : Ligne 2 :


function p.urlDecode( frame )
function p.urlDecode( frame )
local enctype = frame.args[2]
local ret
local ret

if frame.args[2] and frame.args[2] ~= '' then
if frame.args[2] and frame.args[2] ~= '' then
enctype = mw.text.trim(enctype):upper()
local enctype = mw.text.trim(frame.args[2]):upper()
if enctype == "QUERY" or enctype == "PATH" or enctype == "WIKI" then
if enctype == "QUERY" or enctype == "PATH" or enctype == "WIKI" then
ret = mw.uri.decode(frame.args[1], enctype)
ret = mw.uri.decode(frame.args[1], enctype)
Ligne 14 : Ligne 14 :
ret = mw.uri.decode(frame.args[1])
ret = mw.uri.decode(frame.args[1])
end
end

ret = ret:gsub("{", "{")
ret = ret:gsub("{", "{")
ret = ret:gsub("}", "}")
ret = ret:gsub("}", "}")

Version du 10 décembre 2023 à 03:10

 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 ret

	if frame.args[2] and frame.args[2] ~= '' then
		local enctype = mw.text.trim(frame.args[2]):upper()
		if enctype == "QUERY" or enctype == "PATH" or enctype == "WIKI" then
			ret = mw.uri.decode(frame.args[1], enctype)
		else
			error("paramètre de type d'encodage invalide")
		end
	else
		ret = mw.uri.decode(frame.args[1])
	end

	ret = ret:gsub("{", "{")
	ret = ret:gsub("}", "}")

	return ret
end

return p