SilverStripe\BBCodeParser\TextParser
Parses text in a variety of ways.
Called from a template by $Content.Parse(SubClassName), similar to $Content.XML.
This will work on any Text database field (Or a sub-class, such as HTMLText,
although it's usefulness in this situation is more limited).
Any sub-classes of TextParser must implement a parse() method.
This should take $this->content and parse it however you want. For an example
of the implementation, @see BBCodeParser.
Your sub-class will be initialized with a string of text, then parse() will be called.
parse() should (after processing) return the formatted string.
Note: $this->content will have NO conversions applied to it.
You should run Covert::raw2xml or whatever is appropriate before using it.
Optionally (but recommended), is creating a static usable_tags method,
which will return a SS_List of all the usable tags that can be parsed.
This will (mostly) be used to create helper blocks - telling users what things will be parsed.
Again, @see BBCodeParser for an example of the syntax
Synopsis
- // members
- protected $content;
- // methods
- public void __construct()
- public void setContent()
- public abstract DBField parse()
Hierarchy
Extends
- SilverStripe\Core\Object
Tasks
Line | Task |
---|---|
32+ | Define a proper syntax for (or refactor) usable_tags that can be extended as needed. |
Members
protected
- $content — string
Methods
public
- __construct() — Creates a new TextParser object.
- parse() — Define your own parse method to parse $this->content appropriately.
- setContent() — Convenience method, shouldn't really be used, but it's here if you want it