无编辑摘要 |
(清空全部内容) 标签:清空 已被回退 |
||
第1行: | 第1行: | ||
local p = {} |
|||
function p.test(frame) |
|||
local args = frame.args |
|||
local order = args[1] |
|||
local name = args[2] |
|||
local some = args[3] |
|||
local function contains(t, value) |
|||
for _, v in ipairs(t) do |
|||
if v == value then |
|||
return true |
|||
end |
|||
end |
|||
return false |
|||
end |
|||
local function custom_sort(a, b) |
|||
return tonumber(a) > tonumber(b) |
|||
end |
|||
if name == nil or name == "" then |
|||
return "文本为空,请在|name=填入要查询的角色名" |
|||
end |
|||
local pattern = "第(%d+)话" |
|||
local extracted_numbers = {} |
|||
for match in (some..pattern):gmatch(pattern) do |
|||
if not contains(extracted_numbers, match) then |
|||
table.insert(extracted_numbers, match) |
|||
end |
|||
end |
|||
local sorted_t = {} |
|||
for i, x in ipairs(extracted_numbers) do |
|||
table.insert(sorted_t, tonumber(x)) |
|||
end |
|||
if order == 'asc' then |
|||
table.sort(sorted_t) |
|||
elseif order == 'desc' then |
|||
table.sort(sorted_t, custom_sort) |
|||
end |
|||
local huashu = {} |
|||
for i, num in ipairs(sorted_t) do |
|||
local new_value = "[[第" .. num .. "话]]" |
|||
table.insert(huashu, new_value) |
|||
end |
|||
local plainlinks = "plainlinks" |
|||
local namelur = "<span class=" ..plainlinks.. ">[https://youshou.wiki/wiki/Special:%E8%AF%A2%E9%97%AE/-5B-5BOnCamera:character-20name::" ..name.. "-5D-5D/limit%3D50/format%3Dplainlist 查询更多]</span>" |
|||
table.insert(huashu, namelur) |
|||
local result = {} |
|||
local counter = 0 |
|||
for _, val in ipairs(huashu) do |
|||
table.insert(result, val) |
|||
counter = counter + 1 |
|||
if counter % 14 == 0 and counter ~= #huashu then |
|||
table.insert(result, "<br>") |
|||
end |
|||
if counter % 14 ~= 0 then |
|||
table.insert(result, " · ") |
|||
end |
|||
end |
|||
local lastElement = table.remove(result) |
|||
if lastElement ~= " · " then |
|||
table.insert(result, lastElement) |
|||
end |
|||
local output = table.concat(result, "") |
|||
return output |
|||
end |
|||
return p |