local p =
function p.swapreplace(frame) local a_string = frame.args[1] or "" if a_string
"" then error("Missing string on which to perform swap!") end
local noofargs = 0 for i = 1, 10, 1 do if frame.args[i] ~= nil then noofargs = i end -- END if end -- END for
if noofargs ~= 4 then error("Incorrect number of arguments: " .. noofargs .. " Required = 4!") end -- END if
local nooftimes = tonumber(frame.args[4])
if nooftimes
"" then nooftimes = 1 elseif nooftimes <= 0 then nooftimes = 1 end
local swap = frame.args[2] or ""
if swap
if swap
local swapwith = frame.args[3] or ""
if swapwith
if swapwith
a_string = (a_string:gsub(swap,"@2@2" .. swap .. "@2@2", nooftimes)) a_string = (a_string:gsub(swapwith,"@3@3" .. swapwith .. "@3@3", nooftimes)) a_string = (a_string:gsub("@3@3" .. swapwith .. "@3@3", swap, nooftimes)) a_string = (a_string:gsub("@2@2" .. swap .. "@2@2", swapwith, nooftimes))
return a_string
end
return p