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

模块:角色卡片:修订间差异

来自Gal中文百科
无编辑摘要
无编辑摘要
 
(未显示同一用户的7个中间版本)
第5行: 第5行:
     local paragraphs = {}
     local paragraphs = {}
     local text = args['变量']
     local text = args['变量']
     for line in text:gmatch("[^\r\n]+") do
     for line in text:gmatch("[^\r\n]*[\r\n]?") do
         table.insert(paragraphs, "<p>" .. line .. "</p>")
         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
     end
     return table.concat(paragraphs, "\n")
     return table.concat(paragraphs, "\n")
    --return textToParagraphs(args['变量'])
end
end
-- 角色卡片图片处理
-- 角色卡片图片处理
第29行: 第34行:
         return text
         return text
     else
     else
         local ss = 1
         local ss = tonumber(sub)
         local result = dataArray[ss]
         return dataArray[ss]
        return result
     end
     end
end
end


-- 解析以=分割的信息
function p.jskp(frame)
function p.jskp(frame)
     local args = frame.args
     local args = frame.args
第44行: 第49行:
         if key and value then
         if key and value then
             --print(key, "=", value)
             --print(key, "=", value)
             parsed_data = parsed_data..'<p>'..key..":"..value..'</p>'
             parsed_data = parsed_data..'<p><strong>'..key.."</strong>:"..value..'</p>'
         end
         end
     end
     end
第50行: 第55行:
end
end


function textToParagraphs(text)
    local paragraphs = {}
    for line in text:gmatch("[^\r\n]+") do
        table.insert(paragraphs, "<p>" .. line .. "</p>")
    end
    return table.concat(paragraphs, "\n")
end
return p
return p

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