Module:Plain text: Difference between revisions
Jump to navigation
Jump to search
en>Galobtter (fix) |
en>Galobtter (+comment) |
||
Line 1: | Line 1: | ||
--converts text with wikilinks to plain text, e.g "[[foo|gah]] is [[bar]]" to "gah is bar" | --converts text with wikilinks to plain text, e.g "[[foo|gah]] is [[bar]]" to "gah is bar" | ||
--removes anything enclosed in tags and files | --removes anything enclosed in tags and files, and italic and bold markup | ||
local p = {} | local p = {} | ||
Revision as of 07:32, 14 April 2018
Documentation for this module may be created at Module:Plain text/doc
--converts text with wikilinks to plain text, e.g "[[foo|gah]] is [[bar]]" to "gah is bar" --removes anything enclosed in tags and files, and italic and bold markup 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, '%[%[File:.-%]%]', '') --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