Modul:Zamijeni tekst: razlika između inačica
Izbrisani sadržaj Dodani sadržaj
Nema sažetka uređivanja |
m doslovna zamjena teksta |
||
Redak 1: | Redak 1: | ||
local p = {} |
local p = {} |
||
function literalize(str) |
|||
return str:gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", function(c) return "%" .. c end) |
|||
end |
|||
function p.main(frame) |
function p.main(frame) |
||
Redak 9: | Redak 13: | ||
for k,v in pairs(allfinds) do |
for k,v in pairs(allfinds) do |
||
text = string.gsub(text, v, replace) |
text = string.gsub(text, literalize(v), replace) |
||
end |
end |
||
Posljednja izmjena od 14. rujna 2022. u 15:08
local p = {}
function literalize(str)
return str:gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", function(c) return "%" .. c end)
end
function p.main(frame)
local text = mw.getCurrentFrame():getParent().args[1]
local find = mw.getCurrentFrame():getParent().args[2]
local replace = mw.getCurrentFrame():getParent().args[3]
local allfinds = Split(find, ",")
for k,v in pairs(allfinds) do
text = string.gsub(text, literalize(v), replace)
end
return text
end
function Split(s, delimiter)
result = {};
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match);
end
return result;
end
return p