Difference between revisions of "Module:Plain text"

544 bytes added ,  02:58, 7 October 2021
m
1 revision imported
m (1 revision imported)
m (1 revision imported)
 
(3 intermediate revisions by 3 users not shown)
Line 5: Line 5:
function p.main(frame)
function p.main(frame)
local text = frame.args[1]
local text = frame.args[1]
return p._main(text)
local encode = require('Module:yesno')(frame.args.encode)
return p._main(text, encode)
end
end


function p._main(text)
function p._main(text, encode)
if not text then return end
if not text then return end
text = mw.text.killMarkers(text)
text = mw.text.killMarkers(text)
Line 15: Line 16:
:gsub('<span.->(.-)</span>', '%1') --remove spans while keeping text inside
:gsub('<span.->(.-)</span>', '%1') --remove spans while keeping text inside
:gsub('<i.->(.-)</i>', '%1') --remove italics while keeping text inside
:gsub('<i.->(.-)</i>', '%1') --remove italics while keeping text inside
:gsub('<b.->(.-)</b>', '%1') --remove bold while keeping text inside
:gsub('<em.->(.-)</em>', '%1') --remove emphasis while keeping text inside
:gsub('<strong.->(.-)</strong>', '%1') --remove strong while keeping text inside
:gsub('<.->.-<.->', '') --strip out remaining tags and the text inside
:gsub('<.->.-<.->', '') --strip out remaining tags and the text inside
:gsub('<.->', '') --remove any other tag markup
:gsub('<.->', '') --remove any other tag markup
:gsub('%[%[%s*[Ff]ile%s*:.-%]%]', '') --strip out files
:gsub('%[%[%s*[Ff][Ii][Ll][Ee]%s*:.-%]%]', '') --strip out files
:gsub('%[%[%s*[Ii]mage%s*:.-%]%]', '') --strip out use of image:
:gsub('%[%[%s*[Ii][Mm][Aa][Gg][Ee]%s*:.-%]%]', '') --strip out use of image:
:gsub('%[%[%s*[Cc]ategory%s*:.-%]%]', '') --strip out categories
:gsub('%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:.-%]%]', '') --strip out categories
:gsub('%[%[[^%]]-|', '') --strip out piped link text
:gsub('%[%[[^%]]-|', '') --strip out piped link text
:gsub('([^%[])%[[^%[%]][^%]]-%s', '%1') --strip out external link text
:gsub('^%[[^%[%]][^%]]-%s', '') --strip out external link text
:gsub('[%[%]]', '') --then strip out remaining [ and ]
:gsub('[%[%]]', '') --then strip out remaining [ and ]
:gsub("'''''", "") --strip out bold italic markup
:gsub("'''''", "") --strip out bold italic markup
Line 28: Line 34:
:gsub("%s+$", "") --and trailing spaces
:gsub("%s+$", "") --and trailing spaces
:gsub("%s+", " ") --strip redundant spaces
:gsub("%s+", " ") --strip redundant spaces
return text
if encode then
return mw.text.encode(text)
else
return text
end
end
end


return p
return p