模块:物品信息:修订间差异

来自wymboT-wiki
无编辑摘要
(loadData与转义)
 
(未显示同一用户的1个中间版本)
第2行: 第2行:


function p.info(frame)
function p.info(frame)
     local jsdata = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{title = "物品信息/json"})
     local jsdata = mw.loadData("模块:物品信息/data")
     local num = tonumber(frame.args.num)
     local num = tonumber(frame.args.num)
     if jsdata[frame.args.name] == nil then return ""
     if jsdata[frame.args.name] == nil then return ""
     elseif jsdata[frame.args.name][num] == nil then return ""
     elseif jsdata[frame.args.name][num] == nil then return ""
     else return jsdata[frame.args.name][num]
     else  
        result = mw.ustring.gsub(jsdata[frame.args.name][num], "#", "#")
        result = mw.ustring.gsub(result, ">", ">")
        result = mw.ustring.gsub(result, "=", "=")
        result = mw.ustring.gsub(result, "<", "&#60;")
        result = mw.ustring.gsub(result, "*", "&#42;")
        result = mw.ustring.gsub(result, "|", "&#124;")
        result = mw.ustring.gsub(result, "\n", "<br>")
        result = mw.ustring.gsub(result, " ", "&nbsp;")
    return result
     end
     end
end
end


return p
return p

2022年2月15日 (二) 16:08的最新版本

此模块的文档可以在模块:物品信息/doc创建

local p = {}

function p.info(frame)
    local jsdata = mw.loadData("模块:物品信息/data")
    local num = tonumber(frame.args.num)
    if jsdata[frame.args.name] == nil then return ""
    elseif jsdata[frame.args.name][num] == nil then return ""
    else 
        result = mw.ustring.gsub(jsdata[frame.args.name][num], "#", "&#35;")
        result = mw.ustring.gsub(result, ">", "&#62;")
        result = mw.ustring.gsub(result, "=", "&#61;")
        result = mw.ustring.gsub(result, "<", "&#60;")
        result = mw.ustring.gsub(result, "*", "&#42;")
        result = mw.ustring.gsub(result, "|", "&#124;")
        result = mw.ustring.gsub(result, "\n", "<br>")
        result = mw.ustring.gsub(result, " ", "&nbsp;")
    	return result
    end
end

return p