打开/关闭菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:角色卡片

来自Gal中文百科
Yexiaoyu讨论 | 贡献2024年4月20日 (六) 05:57的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
local p = {}
-- 换行处理 {{#invoke:角色卡片|newline|变量=xxx}}
function p.newline(frame)
    local args = frame.args
    local paragraphs = {}
    local text = args['变量']
    for line in text:gmatch("[^\r\n]*[\r\n]?") do
        if line ~= "" then
            if line == "\n" or line == "\r\n" then
                table.insert(paragraphs, "<br>")
            else
                table.insert(paragraphs, "<p>" .. line .. "</p>")
            end
        end
    end
    return table.concat(paragraphs, "\n")
end
-- 角色卡片图片处理
function p.kp_img(frame)
    local args = frame.args
    local data = args['img']
    local sub = args['sub']
    local text = ""
    local dataArray = {}
    for item in data:gmatch("[^;]+") do
        -- 将拆分出的数据添加到text
        local abc = frame:callParserFunction('filepath:'..item)
        text = text .. abc .. ";"
        table.insert(dataArray, item)
    end
    -- 删除最后一个;号
    text = string.sub(text, 1, -2)
    if sub == nil then
        return text
    else
        local ss = tonumber(sub)
        return dataArray[ss]
    end
end

-- 解析以=分割的信息
function p.jskp(frame)
    local args = frame.args
    local input = args['变量']
    local parsed_data = ''

    for line in input:gmatch("[^\r\n]+") do
        local key, value = line:match("(.*)=(.*)")
        if key and value then
            --print(key, "=", value)
            parsed_data = parsed_data..'<p><strong>'..key.."</strong>:"..value..'</p>'
        end
    end
    return parsed_data
end

return p