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

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
ici pas besoin de la fonction mw.ustring.* coûteuse
m A protégé « Module:Urldecode » : très utilisé (sur 985 636 pages, lol) ; dans le top 100 des pages les plus incluses ([Modifier = Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer = Autoriser uniquement les utilisateurs autopatrolled] (infini))
 
(16 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :


function p.urlDecode( frame )
function p.urlDecode( frame )
local enctype = frame.args[2]
local args = frame.args
local ret = nil;
local chaine = mw.text.trim( args[ 1 ] )
local enctype = args[ 2 ] and mw.text.trim( args[ 2 ] )
if (frame.args[2] ~= nil) then

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

return ret
end
end



Dernière version du 29 décembre 2023 à 03:13

 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 args = frame.args
	local chaine = mw.text.trim( args[ 1 ] )
	local enctype = args[ 2 ] and mw.text.trim( args[ 2 ] )

	if enctype and enctype ~= '' then
		enctype = enctype:upper()
		if enctype == "QUERY" or enctype == "PATH" or enctype == "WIKI" then
			return mw.uri.decode( chaine, enctype )
		else
			error( "paramètre de type d'encodage invalide" )
		end
	else
		return mw.uri.decode( chaine )
	end
end

return p