BBCode ("Bulletin Board Code") is a lightweight markup language used to format messages in many Internet forum software. It was first introduced in 1998. The available "tags" of BBCode are usually indicated by square brackets ([ and ]) surrounding a keyword, and is translated into HTML before being sent to the user.
Tags Example in HTML/CSS BBCode Output <b>bolded text</b> or <span style="font-weight: bold;">bolded text</span> [b]bolded text[/b] bolded text <i>italicized text</i> or <span style="font-style: italic;">italicized text</span> [i]italicized text[/i] italicized text <u>underlined text</u> or <span style="text-decoration: underline;">underlined text</span> [u]underlined text[/u] <s>strikethrough text</s> or <del>strikethrough text</del> or <span style="text-decoration: line-through;">strikethrough text</span> [s]strikethrough text[/s] strikethrough text <a href="https://en.wikipedia.org">https://en.wikipedia.org</a> <a href="https://en.wikipedia.org">English Wikipedia</a> [url]https://en.wikipedia.org[/url] [url=https://en.wikipedia.org]English Wikipedia[/url] https://en.wikipedia.org English Wikipedia <img src="https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png" alt="Example image"> [img alt="Example image" ]https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png[/img] <img src="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. <blockquote><p>quoted text</p></blockquote> <blockquote><p>quoted text</p><cite>— author</cite></blockquote> (Usually implemented in more advanced ways.) [quote]quoted text[/quote] [quote="author"]quoted text[/quote] (including optional author) 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 <span style="font-size:30px">Large Text</span> or <span style="font-size:85%">Smaller Text</span> [style size="30px"]Large Text[/style] [style size="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 <span style="color:fuchsia;">Text in fuchsia</span> or <span style="color:#FF00FF;">Text in fuchsia</span> [style color="fuchsia"]Text in fuchsia[/style] or [style color=#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.e.g. BOINC Project Forums et al.
(Many variants for li and /li, list types – unordered and ordered, with different bullets or counter formats – etc.) Entry A Entry B
Entry 1 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]column 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 1 column header 2table cell 1 table cell 2 Source:
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.
Applying traditional parsing techniques is made difficult by ambiguities in the markup, such as in , where the input can either be interpreted as "text" quoted from someone called , or the bolded text "text" surrounded by and , i.e. [quote=text[/quote].
See also Other lightweight markup languages: Wikitext Markdown
References
External links BBCode users guide RTF/HTML to BBCode online converter