Jump to content
Wikipedia The Free Encyclopedia

Module:Plain text

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by Dpleibovitz (talk | contribs) at 01:02, 24 December 2024 (Fixed the stripping of + signs). The present address (URL) is a permanent link to this version.Revision as of 01:02, 24 December 2024 by Dpleibovitz (talk | contribs) (Fixed the stripping of + signs)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Module documentation[view] [edit] [history] [purge]
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.
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

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

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.
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('&nbsp;',' ')--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

AltStyle によって変換されたページ (->オリジナル) /