Transforme des textes en lien externe

Utilisation

بدل

Fonctions :

  • makelink(lien, texte) – crée un lien vers lien et affiche le texte texte, ou à défaut, affiche l'URL du lien moins le "http://" initial. Ne retourne rien si lien est nul ou égal à "-".
  • makelinks(liste, séparateur) – crée des liens vers toutes les URL indiquées dans la table liste et les sépare par le paramètre séparateur.

Exemples

بدل

Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.

موضيل:Projet Scribunto


Catégorie:Module en langage Lua


local p = {}

function p.makelink(url, showntext)
	if (not url) or (url == "-") then 
		return nil
	end

	--I validation de l'url (paramètre URL)
	url = mw.text.trim(url)


	-- II texte à afficher (paramètre "showntext")

	--- valeur spéciale : aucun texte
	if showntext == "-" then
		return url
	end

	--- laissé vide : texte basé sur l'URL
	if not showntext then
		if mw.ustring.sub(url, 1, 1) == "[" then
			return url
		end
		local space =  mw.ustring.find(url, ' ') -- si le nom du site est passé par mégarde dans l'URL, le séparer
		if space then
			local full = url
			url = mw.ustring.sub(full, 2, space - 1)
			showntext =	mw.ustring.sub(full, space)
		else
			showntext = string.gsub( url, 'https?://', '')
		end
		---- remove trailing slash
		if string.sub(showntext, #showntext, #showntext) == '/' then
			showntext = string.sub(showntext, 1, #showntext - 1)
		end
	end

	return '[' .. url ..  ' ' ..  showntext .. ']'
end

function p.makelinks(stringlist, separator)
	if not type(stringlist) == table then
		return error('stringlist should be table')
	end
	if not separator then
		separator = '<br />'
	end
	for i, j in pairs(stringlist) do
		stringlist[i] = p.makelink(k)
	return table.concat(stringlist, separator )
	end
end

return p