More languages
More actions
No edit summary |
m 1 revision imported |
(No difference)
|
Latest revision as of 14:56, 25 April 2025
Template loop detected: Module:Remove Duplicate Links/doc
local p = {}
--- Remove duplicate links and return the singular ones
function p.main(frame)
local input = frame.args[1] or ""
local links = {}
input:gsub("%[%[([^%]]*)%]%]", function(link)
link = "[[" .. link .. "]]" -- :gsub removes the double brackets
table.insert(links, link)
end)
local duplicateTracker = {}
for _, link in pairs(links) do
if not duplicateTracker[link] then
duplicateTracker[link] = 0
end
duplicateTracker[link] = duplicateTracker[link] + 1
end
local output = ""
for link, duplicates in pairs(duplicateTracker) do
if duplicates == 1 then
output = output .. link
end
end
return output
end
return p