Scroll to navigation

Parse::BBCode::Tag(3pm) User Contributed Perl Documentation Parse::BBCode::Tag(3pm)

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

    $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.

    my $bbcode = $tag->raw_text;
    

Returns the raw text of the parse tree, so all tags are converted back to bbcode.

    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]
    
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_*"

The tag name. for "[i]...[/i]" it is "i", the lowercase tag name.
TODO
The raw text of the attribute
An arrayref of the content of the tag, each element either a string or a tag itself.
Used during parsing, true if the end of the tag was found.
The original start string, e.g. '"[size=7]"'
The original end string, e.g. '"[/size]"'
True if the tag needs a closing tag. A tag which doesn't need a closing tag is "[*]" for example, inside of "[list]" tags.
'block', 'inline' or 'url'
If this tag does not have a closing tag and also no content, like [hr], for example, set this to true. Default is 0.
Absolute number of tag with this name in the tree. Useful if you want to number code tags and offer download links.
Level of tag

For the tag [u] in the following bbcode

    [b]bold [i]italic [u]underlined[/u][/i][/b]
    

it returns 3.

2022-06-16 perl v5.34.0