Aller au contenu

Module:Valeur attribut id

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.

 Documentation[créer] [purger]
local p = {}

function p.main( frame )
	local value = mw.text.trim( frame.args[ 1 ] )
	if value == '' then
		-- fallback/default value
		value = mw.text.trim( frame.args[ 2 ] )
	end

	local debugMode = false
	if frame.args.debug and frame.args.debug ~= '' then
		debugMode = ( require 'Module:Yesno' )( frame.args.debug )
	end

	-- rappel : attention, gsub() retourne deux valeurs

	local result = value
		-- on échappe les quotes pour éviter les problèmes d'injection HTML
		:gsub( '"', '"' )
		:gsub( "'", ''' )

		-- au cas où il y aurait <span id={{valeur attribut id|...}}>, sans quotes :\
		:gsub( '<', '&lt;' )
		:gsub( '>', '&gt;' )

		-- les valeurs d'attributs id ne doivent pas contenir d'espaces,
		-- donc si on en rencontre, on les remplace par des underscores
		-- (par ailleurs, cela correspond à ce que fait {{anchorencode:}}
		-- quand on encode une ancre pour la mettre dans une URL)
		:gsub( ' ', '_' )

	if debugMode then
		return mw.text.nowiki( result )
	else
		return result
	end
end

return p