Modul:Zamijeni tekst: razlika između inačica

Izvor: Wikipedija
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