Help:HTML in wikitext

From MozillaWiki
Jump to: navigation, search

MozillaWiki Handbook
Software help for MozillaWiki — see page histories for older versions.
Handbook Contents | Other help

Permitted HTML

The following HTML elements are currently permitted:

  • <b>
  • <big>
  • <blockquote>
  • <br>
  • <caption>
  • <center>
  • <cite>
  • <code>
  • <dd>
  • <div>
  • <dl>
  • <dt>
  • <em>
  • <font>
  • <h1>
  • <h2>
  • <h3>
  • <h4>
  • <h5>
  • <h6>
  • <hr>
  • <i>
  • <li>
  • <ol>
  • <p>
  • <pre>
  • <rb>
  • <rp>
  • <rt>
  • <ruby>
  • <s>
  • <small>
  • <strike>
  • <strong>
  • <sub>
  • <sup>
  • <table>
  • <td>
  • <th>
  • <tr>
  • <tt>
  • <u>
  • <ul>
  • <var>
  • <!-- ... -->


The following excerpt from OutputPage.php additionally shows which attributes are allowed. 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

<a href="meta.wikimedia.org/wiki/Main_Page">Main Page</a>

produces the HTML code

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

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

Span

Span is also not allowed now, but for Wikipedia this is being discussed, see w:Wikipedia:Span tags poll.

The replacement <div style="display:inline"> can be used, but, oddly, apparently only in a list:

*a <div style="display:inline; color:red">red </div> word

#a <div style="display:inline; color:red">red </div> word

a <div style="display:inline; color:red">red </div> word

gives

  • a
    red
    word
  1. a
    red
    word
a
red
word

Outside a list "display:inline" is effectively disabled: the code is retained, but with closure of the paragraph before the styled part and starting a new one after it.

Note that the blank spaces at the end of and just after the styled part are removed; use &nbsp; at the end:

*a <div style="display:inline; color:red">red &nbsp;</div>word

gives

  • a
    red 
    word

Font

For some attributes, like color, one can also use

a <font style="color: red">red</font> word

or

a <font color=red>red</font> word.

giving

a red word

a red word

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

a height of 20000 <font title="30.48 cm" class="title">ft</font> above sea level

giving

a height of 20000 ft above sea level

(note the hover box over "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

<div class="red">example text</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, specially adapted for such usage, so one cannot refer to "the red text above", etc.

External links

Help contents

Reading: Go | Search | URL | Namespace | Page name | Section | Link | Backlinks | Piped link | Interwiki link | Redirect | Variable | Category
Tracking changes: Recent | (enhanced) | Related | Watching pages | Page history | Diff | User contributions | Edit summary | Minor edit
Logging in and preferences: Logging in | Preferences | User style
Editing: Overview | New page | Images/files | Image description page | Special characters | Formula | Table | EasyTimeline | Template | Renaming (moving) a page | Automatic conversion of wikitext | Talk page | Testing
Edit this template