Module:Plain text/sandbox
Appearance
From Wikipedia, the free encyclopedia
Warning This Lua module is used on approximately 1,840,000 pages, or roughly 3% of all pages .
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
This module depends on the following other modules:
Implements {{Plain text }}. Developed for producing short descriptions from text that may have markup, or other stuff that needs removing from short descriptions.
Usage
[edit ]- Code
'''[[Foo|hah]]'''<sup>e</sup> <span style="color:red">is</span> '''''[[gah]]'''''<nowiki>?</nowiki>
→- hah e is gah ?
- Using module
{{#invoke:Plain text|main|1='''[[Foo|hah]]'''<sup>e</sup> <span style="color:red">is</span> '''''[[gah]]'''''<nowiki>?</nowiki>}}
→- hahe is gah
See also
[edit ]The above documentation is transcluded from Module:Plain text/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Add categories to the /doc subpage. Subpages of this module.
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Add categories to the /doc subpage. Subpages of this module.
--converts text with wikilinks to plain text, e.g "[[foo|gah]] is [[bar]]" to "gah is bar" --removes anything enclosed in tags that isn't nested, mediawiki strip markers (references etc), files, italic and bold markup require[[strict]] localp={} functionp.main(frame) localtext=frame.args[1] localencode=require('Module:yesno')(frame.args.encode) returnp._main(text,encode) end functionp._main(text,encode) ifnottextthenreturnend text=mw.text.killMarkers(text) :gsub(' ',' ')--replace nbsp spaces with regular spaces :gsub('<br ?/?>',', ')--replace br with commas :gsub('<span.->(.-)</span>','%1')--remove spans 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('<sub.->(.-)</sub>','%1')--remove subscript markup; retain contents :gsub('<sup.->(.-)</sup>','%1')--remove superscript markup; retain contents :gsub('<u.->(.-)</u>','%1')--remove underline markup; retain contents :gsub('<.->.-<.->','')--strip out remaining tags and the text inside :gsub('<.->','')--remove any other tag markup :gsub('%[%[%s*[Ff][Ii][Ll][Ee]%s*:.-%]%]','')--strip out files :gsub('%[%[%s*[Ii][Mm][Aa][Gg][Ee]%s*:.-%]%]','')--strip out use of image: :gsub('%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:.-%]%]','')--strip out categories :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("'''''","")--strip out bold italic markup :gsub("'''?","")--not stripping out '''' gives correct output for bolded text in quotes :gsub('----+','')--remove ---- lines :gsub("^%s+","")--strip leading :gsub("%s+$","")--and trailing spaces :gsub("%s+"," ")--strip redundant spaces ifencodethen returnmw.text.encode(text) else returntext end end returnp