« Module:Weblink » : différence entre les versions
Contenu supprimé Contenu ajouté
m proprage espaces |
correction position, là showntext contenait l'espace de séparation |
||
Ligne 26 : | Ligne 26 : | ||
local full = url |
local full = url |
||
url = mw.ustring.sub(full, 1, space - 1) |
url = mw.ustring.sub(full, 1, space - 1) |
||
showntext = mw.ustring.sub(full, space) |
showntext = mw.ustring.sub(full, space + 1) |
||
else |
else |
||
showntext = string.gsub( url, 'https?://', '') |
showntext = string.gsub( url, 'https?://', '') |
Version du 10 septembre 2022 à 15:42
[voir] [modifier] [historique] [purger]
Transforme des textes en lien externe
Utilisation
Fonctions :
makelink(lien, texte)
– crée un lien verslien
et affiche le textetexte
, ou à défaut, affiche l'URL du lien moins le "http://" initial. Ne retourne rien silien
est nul ou égal à "-".makelinks(liste, séparateur)
– crée des liens vers toutes les URL indiquées dans la tableliste
et les sépare par le paramètreséparateur
.
Exemples
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
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, 1, space - 1)
showntext = mw.ustring.sub(full, space + 1)
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(j)
end
return table.concat(stringlist, separator)
end
return p