Provided by: libparse-bbcode-perl_0.15-1_all
NAME
Parse::BBCode::Tag - Tag Class for Parse::BBCode
DESCRIPTION
If you parse a bbcode with Parse::BBCode "Parse::BBCode::parse" returns a parse tree of Tag objects.
METHODS
add_content $tag->add_content('string'); Adds 'string' to the end of the tag content. $tag->add_content($another_tag); Adds $another_tag to the end of the tag content. raw_text my $bbcode = $tag->raw_text; Returns the raw text of the parse tree, so all tags are converted back to bbcode. raw_content my $bbcode = $tag->raw_content; Returns the raw content of the tag without the opening and closing tags. So if you have tag that was parsed from [i]italic and [bold]test[/b][/i] it will return italic and [bold]test[/b] walk Utility to do a breadth first search ('bfs') over the parsed tree. $tag->walk('bfs', sub { # tag is in $_ ... return 0; }); When the sub returns 1 it stops walking the tree. Useful for finding a certain tag.
ACCESSORS
The accessors of a tag are currently name attr attr_raw content finished start end close class You can call each accessor with "get_*" and "set_*" name The tag name. for "[i]...[/i]" it is "i", the lowercase tag name. attr TODO attr_raw The raw text of the attribute content An arrayref of the content of the tag, each element either a string or a tag itself. finished Used during parsing, true if the end of the tag was found. start The original start string, e.g. '"[size=7]"' end The original end string, e.g. '"[/size]"' close True if the tag needs a closing tag. A tag which doesn't need a closing tag is "[*]" for example, inside of "[list]" tags. class 'block', 'inline' or 'url' single If this tag does not have a closing tag and also no content, like [hr], for example, set this to true. Default is 0. num Absolute number of tag with this name in the tree. Useful if you want to number code tags and offer download links. level Level of tag For the tag [u] in the following bbcode [b]bold [i]italic [u]underlined[/u][/i][/b] it returns 3.