Модуль:Песочница/Pok: различия между версиями

Нет описания правки
Нет описания правки
Строка 1: Строка 1:
local p = {}
local p = {}
local mw = mw
local function esc_attr(s)
    if not s then return "" end
    s = tostring(s)
    s = s:gsub("&", "&")
    s = s:gsub('"', """)
    s = s:gsub("<", "&lt;")
    s = s:gsub(">", "&gt;")
    return s
end


function p.main(frame)
function p.main(frame)
Строка 47: Строка 36:


     local parts = {}
     local parts = {}
     table.insert(parts, "<choose before=\"" .. esc_attr(before) .. "\" after=\"" .. esc_attr(after) .. "\">")
     table.insert(parts, "<choose before=\"" .. before .. "\" after=\"" .. after .. "\">")
     for _, suf in ipairs(found) do
     for _, suf in ipairs(found) do
         table.insert(parts, "<option>" .. esc_attr(suf) .. "</option>")
         table.insert(parts, "<option>" .. suf .. "</option>")
     end
     end
     table.insert(parts, "</choose>")
     table.insert(parts, "</choose>")


     return table.concat(parts, "\n")
     return frame:preprocess(table.concat(parts, "\n"))
end
end


return p
return p