BBCode

Last updated

BBCode ("Bulletin Board Code") is a lightweight markup language used to format messages in many Internet forum software. It was first introduced in 1998. [1] The available "tags" of BBCode are usually indicated by square brackets ([ and ]) surrounding a keyword, and are parsed before being translated into HTML.[ citation needed ]

Contents

Tags

Example in HTML/CSSBBCodeOutput
<b>bolded text</b>
[2] or
<spanstyle="font-weight: bold;">bolded text</span>
[b]bolded text[/b]
bolded text
<i>italicized text</i>
or
<spanstyle="font-style: italic;">italicized text</span>
[i]italicized text[/i]
italicized text
<u>underlined text</u>
or
<spanstyle="text-decoration: underline;">underlined text</span>
[u]underlined text[/u]
underlined text
<s>strikethrough text</s>
or
<del>strikethrough text</del>
or
<spanstyle="text-decoration: line-through;">strikethrough text</span>
[s]strikethrough text[/s]
strikethrough text
<ahref="https://en.wikipedia.org">https://en.wikipedia.org</a>
<ahref="https://en.wikipedia.org">English Wikipedia</a>
[url]https://en.wikipedia.org[/url]
[url=https://en.wikipedia.org]English Wikipedia[/url]
<imgsrc="https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png"alt="Example image">
[imgalt="Exampleimage"]https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png[/img]
Example.png
<imgsrc="Smileys/Face-smile.svg"alt=":-)">
:) 
or
[:-)] 

This would be another way to use the [img]url_img[/img] and must be pre-configured by the forum administrator.

(This and other emoticons, depending on the variant. Most BBCodes do not enclose emoticons in square brackets, leading to frequent accidental usage.)
Face-smile.svg
(Specific image and size vary.)
<blockquote><p>quoted text</p></blockquote>

(Usually implemented in more advanced ways.)

[quote]quoted text[/quote]
[quote="author"]quoted text[/quote]

(including optional author)

Using a Wikipedia template:

quoted text

quoted text

author

<pre><code>computer code</code></pre>
[code]computer code[/code]
computer code
<pre>monospaced text</pre>
[pre]monospaced text[/pre]
monospaced text
<spanstyle="font-size:30px">Large Text</span>
or
<spanstyle="font-size:85%">Smaller Text</span>
[stylesize="30px"]Large Text[/style]
[stylesize="85"]Smaller Text[/style]

or

[size="30px"]Large Text[/size]
[size="85"]Smaller Text[/size]

(The unit of measurement varies with each BBCode variant and could represent pixels, points, or relative HTML sizes.)

Large Text
Smaller Text
<spanstyle="color:fuchsia;">Text in fuchsia</span>
or
<spanstyle="color:#FF00FF;">Text in fuchsia</span>
[stylecolor="fuchsia"]Text in fuchsia[/style]
or
[stylecolor=#FF00FF]Text in fuchsia[/style]
or
[color=#FF00FF]Text in fuchsia[/color]

(Both HTML color names and hexadecimal color values are generally supported, although on some boards, you must omit the # from selecting a hexadecimal color.)

Text in fuchsia
<ul><li>Entry A</li><li>Entry B</li></ul><ol><li>Entry 1</li><li>Entry 2</li></ol>
[list]   [*]Entry A   [*]Entry B [/list][list=1]   [*]Entry 1   [*]Entry 2 [/list]

Some message boards do not need the square brackets around the markers. [3]

(Many variants for li and /li, list types – unordered and ordered, with different bullets or counter formats – etc.)

  • Entry A
  • Entry B
  1. Entry 1
  2. Entry 2
<table><tr><th>column header 1</th><th>column header 2</th></tr><tr><td>table cell 1</td><td>table cell 2</td></tr></table>
[table][tr][th]column header 1[/th][th]tcolumn header 2[/th][/tr][tr][td]table cell 1[/td][td]table cell 2[/td][/tr][/table]

(Some variants for thead, rules, etc.)

column header 1column header 2
table cell 1table cell 2
Source: [4]

Implementation

BBCode is typically implemented by applying a series of regular expression string-replace operations upon the input. Because regular expressions are limited in analyzing the structure of text input, this has the artifact that any non-hierarchical BBCode input will be transformed into invalid non-hierarchical HTML without error.[ citation needed ]

Applying traditional parsing techniques is made difficult by ambiguities in the markup, such as in [quote=[b]text[/b][/quote], where the input can either be interpreted as "text" quoted from someone called [b, or the bolded text "text" surrounded by [quote= and [/quote], i.e. [quote=text[/quote].

See also

References

  1. "BBCode history". www.bbcode.org. Retrieved 21 February 2025.
  2. "HTML Text Formatting". W3Schools. Retrieved 2021-05-01.
  3. e.g. BOINC Project Forums et al.
  4. "BBCode tags reference". www.bbcode.org. Retrieved 12 January 2022.