Anonymous user
Module:Delink: Difference between revisions
From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
split the search algorithm out into its own function, add data type checks
(use pcall and mw.title.new to check for valid titles) |
(split the search algorithm out into its own function, add data type checks) |
||
Line 115:
end
local function
error("Attempt to de-link non-string input.", 2)
local result = ""▼
-- Delink wikilinks. We need to search character by character rather ▼
-- than just use gsub, otherwise nested links aren't detected properly.▼
while mw.ustring.len(text) > 0 do▼
text = mw.ustring.gsub(text, "^%[%[.-%]%]", delinkWikilink, 1)▼
result = result .. mw.ustring.sub(text, 1, 1)▼
text = mw.ustring.sub(text, 2, -1)▼
end
if not ( type(pattern) == "string" and mw.ustring.sub(pattern, 1, 1) == "^" ) then
error('Invalid pattern detected. Patterns must begin with "^".', 2)
-- Iterate over the text string, and replace any matched text. using the
▲ -- than just use gsub, otherwise nested links aren't detected properly.
▲ local result = ""
-- Replace text using one iteration of gsub.
-- Append the left-most character to the result string.
end
return result
end
local function _delink(args)
local text = args[1] or ""
▲
text = delinkLinkClass(text, "^%[.-%]", delinkURL) -- De-link URLs.
return text
end
Line 158 ⟶ 159:
args = frame
end
return _delink(args)
end
|