Help:HTML in wikitext

Permitted HTML
The following HTML elements are currently permitted:

The following excerpt from OutputPage.php additionally shows which attributes are allowed.


 * Update: In 1.4rc1, the removeHTMLtags function is located in Parser.php.


 * Update: In 1.5, the removeHTMLtags function is now located in Sanitizer.php.

For many HTML elements, more convenient wikitext code is available, see Help:Editing. On the other hand, HTML tags allow an id that can be referenced in one's user style css, and allows the tag to be used as link target.

/* private */ function removeHTMLtags( $text ) {		wfProfileIn( "OutputPage::removeHTMLtags" ); $htmlpairs = array( # Tags that must be closed			"b", "i", "u", "font", "big", "small", "sub", "sup", "h1",			"h2", "h3", "h4", "h5", "h6", "cite", "code", "em", "s",			"strike", "strong", "tt", "var", "div", "center",			"blockquote", "ol", "ul", "dl", "table", "caption", "pre",			"ruby", "rt", "rb" , "rp"		); $htmlsingle = array(			"br", "p", "hr", "li", "dt", "dd"		); $htmlnest = array( # Tags that can be nested--??			"table", "tr", "td", "th", "div", "blockquote", "ol", "ul",			"dl", "font", "big", "small", "sub", "sup"		); $tabletags = array( # Can only appear inside table			"td", "th", "tr"		);

$htmlsingle = array_merge( $tabletags, $htmlsingle ); $htmlelements = array_merge( $htmlsingle, $htmlpairs );

$htmlattrs = array( # Allowed attributes--no scripting, etc.			"title", "align", "lang", "dir", "width", "height",			"bgcolor", "clear", /* BR */ "noshade", /* HR */			"cite", /* BLOCKQUOTE, Q */ "size", "face", "color",			/* FONT */ "type", "start", "value", "compact",			/* For various lists, mostly deprecated but safe */			"summary", "width", "border", "frame", "rules",			"cellspacing", "cellpadding", "valign", "char",			"charoff", "colgroup", "col", "span", "abbr", "axis",			"headers", "scope", "rowspan", "colspan", /* Tables */			"id", "class", "name", "style" /* For CSS */		);

E.g., element "a" is not allowed, and the wikitext

Main Page

produces the HTML code

&amp;lt;a href="meta.wikimedia.org/wiki/Main_Page"&amp;gt;Main Page&amp;lt;/a&amp;gt;

which renders as the wikitext, not working as a link.

Span
, a generic inline text container, is now allowed on default MediaWiki installations (as of version 1.5). Span can be ID'd, classed, or styled:

This is red text. This is identified text. This is classed text. produces:

This is red text.

This is identified text.

This is classed text.

IDs and classes are used in conjunction with stylesheets to give a piece of text a descriptive class (or unique identifier) and to refer to that in a stylesheet.

Note that in most cases, one can use a more descriptive tag, for instance,  (which can be classed, identified, and styled, as well) to indicate an important piece of text, or   (subject to the same things as strong) to indicate an emphasized piece of text. For instance, the above might be better reformulated as

This is red text.

"This is red text."

This not only draws the user's attention to the text, but can also alert those who are using nonvisual browsers or have sight impairments, etc. to the fact that that is emphasized text.

Font
Note: This element is deprecated (should not be used) in favour of   .

For some attributes, like color, one can also use

a red word

or

a red word.

giving

a red word

a red word

The font element can even be used to replace span, e.g.

a height of 20000 ft above sea level

giving

a height of 20000 ft above sea level

(note the hover box over "20000 ft").

Use a css line like

.title {color: red; }

to see which text has a hover box.

Div
E.g. to assign the class "red" to a text one can put

&lt;div class="red">example text&lt;/div>

which gives example text which is in red if the css line

.red {color:red}

is applicable.

This is suitable if the color is specifically intended to be red; if it is just for emphasis a more general term for the class would be more appropriate, because css allows the user to choose another method of emphasis (another color, bold, enlarged, etc.).

Note that many readers will not have their own css with such lines as ".red {color:red}", so one cannot refer to "the red text above", etc.