全站通知:
模块:文档解析
刷
历
编
跳到导航
跳到搜索
此模块的文档可以在模块:文档解析/doc创建
local p={}
function split(input, delimiter)
input = tostring(input)
delimiter = tostring(delimiter)
if (delimiter == "") then return false end
local pos, arr = 0, {}
for st, sp in function() return string.find(input, delimiter, pos, true) end do
table.insert(arr, string.sub(input, pos, st - 1))
pos = sp + 1
end
table.insert(arr, string.sub(input, pos))
return arr
end
p['文档解析']=function(frame)
local a=frame.args['text']
local title1='<h1>%s</h1>'
local title2='<h2>%s</h2>'
local title3='<h3>%s</h3>'
local graphic='[[file:%s]]'
local video='<div class="panel panel-info"><div class="panel-heading"><span class="clearfix show paneltitle" data-toggle="collapse" data-parent="#mc_accordion-1" data-target="#mc_collapse-%d"><span class="panel-title pull-left"><span style="font-weight:bold;color: #31708f">%s</span></span><span class="badge pull-right">展开/折叠</span></span></div><div id="mc_collapse-%d" class="panel-body panel-collapse collapse"><div style="overflow-x:auto"><div class="bvideo" data-id="%s" data-cid="0" data-page="%d" data-title="%s" data-width="720" data-height="360"></div></div></div></div>'
local temp=''
local text='%s<br>'
local j=split(a,'\n')
local counter=100
for i, v in ipairs(j) do
if string.match(v,'图片') then
local start=string.find(v,'%(图片.*',0)+8
local final=string.find(v,')',start)-1
local gphname=string.sub(v,start,final)
v=string.sub(v,1,start-9)..string.format(graphic,gphname)..string.sub(v,final+2)
end
if string.match(v,'BV号') then
local start=string.find(v,'%(BV号.*',0)+8
local final=string.find(v,')',start)-1
local page=1
local videoinfo=split(string.sub(v,start,final),',')
if #videoinfo>2 then
page=videoinfo[3]
end
v=string.format(video,counter,videoinfo[2],counter,'B'..videoinfo[1],page,videoinfo[2])
counter=counter-1
end
if string.match(v,'h1') then
v=string.format(title1,string.sub(v,3))
elseif string.match(v,'h2') then
v=string.format(title2,string.sub(v,3))
elseif string.match(v,'h3') then
v=string.format(title3,string.sub(v,3))
else
v=string.format(text,v)
end
temp=temp..v
end
frame:callParserFunction{name='#vardefine',args={"text",temp}}
end
p['加载图集']=function(frame)
local gphs=frame.args['gphs']
gphs=split(gphs,',')
local txt=''
for i, v in ipairs(gphs) do
txt=txt..'[[file:'..v..']]'
end
frame:callParserFunction{name='#vardefine',args={"图集",txt}}
end
p['多贡献者解析']=function(frame)
local contributors=frame.args['贡献者']
contributors=split(contributors,':')
frame:callParserFunction{name='#vardefine',args={"贡献者用户名",contributors[1]}}
frame:callParserFunction{name='#vardefine',args={"贡献者id",contributors[2]}}
end
return p

沪公网安备 31011002002714 号