Bulletin Board Code
From Online Manual
Bulletin Board Codes or BBCodes are a way to format posts in SMF and in many other places online. For an explanation of the buttons on the post page, see Basic Bulletin Board Codes. This article explains the important concept of nesting.
The general format of a BBCode tag has three parts: an opening tag, the inside content and a closing tag, as shown below:
[open] text inside [/close] [b] bold text [/b]
When Order Matters, Part 1
You can place one BBCode tag inside another as long as the child tag is closed before the parent tag. For example, the correct way to make bold and italic text is:
[b][i]bold & italic text[/i][/b]
You can also do it in the following way, which is also valid, with the same tags in reverse order:
[i][b]bold & italic text[/b][/i]
The correct method can be visualized more clearly when tags are indented. Each time a tag is open, it is indented a little more than then previous one, forming an invisible column. When the tag is closed, indentation goes back to the previous column.
[b] [i] bold & italic text [/i] [/b]
The next example is incorrectly nested. The last two lines show that the parent tag was closed before the child tag. The column that was created by the child tag is cut in two by the closing tag of its parent.
[b][i]bold & italic text[/b][/i] [b] [i] bold & italic text [/b] [/i]
When Order Matters, Part 2
The order in which tags are nested is important when text-formatting tags like size, bold, or italic are paired with text-alignment tags center, left and right, and pre. Formatting tags must be placed inside alignment tags. For example, for the size tag to change the font, it must be placed as follows:
Nesting the size tags as per the example below will result in this tag not working: