Module:Plain text

--converts text with wikilinks to plain text, e.g "gah is bar" to "gah is bar" --removes anything enclosed in tags and files local p = {}

--this function is copied from Module:Citation/CS1/COinS function p.strip_apostrophe_markup (argument) if argument:find ( "''", 1, true ) == nil then								-- Is there at least one double apostrophe? If not, exit. return argument end

while true do		if argument:find ( "'", 1, true ) then								-- bold italic (5) argument=argument:gsub("%'%'%'%'%'", "");							-- remove all instances of it		elseif argument:find ( "", 1, true ) then							-- italic start and end without content (4) argument=argument:gsub("%'%'%'%'", ""); elseif argument:find ( "'''", 1, true ) then							-- bold (3) argument=argument:gsub("%'%'%'", ""); elseif argument:find ( "''", 1, true ) then								-- italic (2) argument=argument:gsub("%'%'", ""); else break; end end return argument;															-- done end

function p.main(frame) text = frame.args[1] text = mw.ustring.gsub (text, '<.->.-<.->', '') --strip out flags, plus any other tags, e.g footnotes text = mw.ustring.gsub (text, '%', '') --strip out files text = mw.ustring.gsub (text, '%[%[.-|', '') --strip out piped link text text = mw.ustring.gsub (text, '%[', '') --then strip out remaining [ and ] text = mw.ustring.gsub (text, '%]', '') text = p.strip_apostrophe_markup(text) return text end

return p