IV. API Reference
[ Previous: D. Content-Trimming Functions | Next: F. Rule Functions ]
E. Root-Class Functions
void BBCode::SetRootInline ( )
This function tells NBBC that the BBCode content to be formatted
is inline content --- it's part of another paragraph --- which means it cannot
contain block formatting tags such as [center] and [columns] and
[quote] and [code]. Any attempts to use those tags will result
in them appearing verbatim, as if they were not registered rules or tags at all.
This inline mode is most useful when you have content that must be joined to
other pre-existing content.
As always, whether in inline mode or in block mode, NBBC does not
wrap the output in an HTML element of any kind: Generally, you will want to wrap
the output in a <span> element (when inline mode is active), but you do not
have to if that doesn't fit your needs.
Parameters: None.
Return Value: None.
The best way to understand the difference between the root class being "
inline"
and the root class being "
block" is to see an example. Consider the BBCode
below:
[center]This is a [i]test[/i].[/center]
In block mode, this BBCode would be converted to:
<div style="text-align:center">This is a <i>test</i>.</div>
But in inline mode, this same BBCode would be converted to this instead:
[center]This is a <i>test</i>.[/center]
Notice that in inline mode, NBBC refuses to generate <div> tags in the output;
this is because inline mode means that you intend to put the content inside a
<span> or equivalent element, and <div> is illegal inside <span>,
so all tags that might require <div> or similar block layouts become forbidden:
In short, only text-style tags like [i] and [b] and [font], and link tags like
[url] and [wiki], and [img] tags (and smileys!) --- tags that affect the current
line of text but that don't start a new one --- are allowed in inline mode, while
all tags are allowed in block mode.
void BBCode::SetRootBlock ( )
This function tells NBBC that the BBCode content to be formatted
is
block content --- it's
not part of another paragraph, and likely
will be wrapped in its own <div> element by the caller. In
block mode,
all BBCode tags are legal (contrast this with
inline mode
where only text-style tags, link tags, and images are legal).
Note that even in block mode, you cannot (should not) wrap the output inside an
HTML <p> element, because <p> is actually very restricted in the kinds of
content it can contain: For example, the <table> element used by NBBC to
create columns is illegal inside a <p> element. So if you need to wrap your
output in a single HTML element, you should use a <div> element.
As always, whether in
inline mode or in
block mode, NBBC does
not
wrap the output in an HTML element of any kind: Generally, you will want to wrap
the output in a <div> element (when block mode is active), but you do not
have to if that doesn't fit your needs.
Parameters: None.
Return Value: None.
void BBCode::SetRoot ( string $class )
This function controls the root class NBBC uses. The classes
NBBC normally uses for root classes are "block" and "inline",
but if you create new classes, you can tell NBBC to start with one of those
instead using this function.
Parameters:
- class: A classname to use as the root class. See the appendix on
content classes for more details.
Return Value: None.
string BBCode::GetRoot ( )
Return values: The currently-selected root class.
[ Previous: D. Content-Trimming Functions | Next: F. Rule Functions ]
Copyright © 2010, the Phantom Inker. All rights reserved.