$rules
$rules : array
The default list of rules, in order, to apply to the source text.
This is the parser for the Default ruleset. For now, this simply extends Text_Wiki.
This is the "master" class for handling the management and convenience functions to transform Wiki-formatted text.
$parseConf : array
Custom configuration for rules at the parsing stage.
In this array, the key is the parsing rule name, and the value is an array of key-value configuration pairs corresponding to the $conf property in the target parsing rule.
For example:
$parseConf = array(
'Include' => array(
'base' => '/path/to/scripts/'
)
);
Note that most default rules do not need any parsing configuration.
$renderConf : array
Custom configuration for rules at the rendering stage.
Because rendering may be different for each target format, the first-level element in this array is always a format name (e.g., 'Xhtml').
Within that first level element, the subsequent elements match the $parseConf format. That is, the sub-key is the rendering rule name, and the sub-value is an array of key-value configuration pairs corresponding to the $conf property in the target rendering rule.
$formatConf : array
Custom configuration for the output format itself.
Even though Text_Wiki will render the tokens from parsed text, the format itself may require some configuration. For example, RTF needs to know font names and sizes, PDF requires page layout information, and DocBook needs a section hierarchy. This array matches the $conf property of the the format-level renderer (e.g., Text_Wiki_Render_Xhtml).
In this array, the key is the rendering format name, and the value is an array of key-value configuration pairs corresponding to the $conf property in the rendering format rule.
$tokens : array
The tokens generated by rules as the source text is parsed.
As Text_Wiki applies rule classes to the source text, it will replace portions of the text with a delimited token number. This is the array of those tokens, representing the replaced text and any options set by the parser for that replaced text.
The tokens array is sequential; each element is itself a sequential array where element 0 is the name of the rule that generated the token, and element 1 is an associative array where the key is an option name and the value is an option value.
singleton(string $parser = 'Default', array $rules = null) : \&object
Singleton.
This avoids instantiating multiple Text_Wiki instances where a number of objects are required in one call, e.g. to save memory in a CMS invironment where several parsers are required in a single page.
$single = singleton();
or
$single = singleton('Parser', array('Prefilter', 'Delimiter', 'Code', 'Function', 'Html', 'Raw', 'Include', 'Embed', 'Anchor', 'Heading', 'Toc', 'Horiz', 'Break', 'Blockquote', 'List', 'Deflist', 'Table', 'Image', 'Phplookup', 'Center', 'Newline', 'Paragraph', 'Url', 'Freelink', 'Interwiki', 'Wikilink', 'Colortext', 'Strong', 'Bold', 'Emphasis', 'Italic', 'Underline', 'Tt', 'Superscript', 'Subscript', 'Revise', 'Tighten'));
Call using a subset of this list. The order of passing rulesets in the $rules array is important!
After calling this, call $single->setParseConf(), setRenderConf() or setFormatConf() as usual for a constructed object of this class.
The internal static array of singleton objects has no index on the parser rules, the only index is on the parser name. So if you call this multiple times with different rules but the same parser name, you will get the same static parser object each time.
string | $parser | The parser to be used (defaults to 'Default'). |
array | $rules | The set of rules to instantiate the object. This will only be used when the first call to singleton is made, if included in further calls it will be effectively ignored. |
a reference to the Text_Wiki unique instantiation.
factory(string $parser = 'Default', array $rules = null) : \Text_Wiki
Returns a Text_Wiki Parser class for the specified parser.
string | $parser | The name of the parse to instantiate you need to have Text_Wiki_XXX installed to use $parser = 'XXX', it's E_FATAL |
array | $rules | The rules to pass into the constructor {@see Text_Wiki::singleton} for a list of rules |
a Parser object extended from Text_Wiki
setParseConf(string $rule, array|string $arg1, string $arg2 = null) : void
Set parser configuration for a specific rule and key.
string | $rule | The parse rule to set config for. |
array|string | $arg1 | The full config array to use for the parse rule, or a conf key in that array. |
string | $arg2 | The config value for the key. |
getParseConf(string $rule, string $key = null) : mixed
Get parser configuration for a specific rule and key.
string | $rule | The parse rule to get config for. |
string | $key | A key in the conf array; if null, returns the entire conf array. |
The whole conf array if no key is specified, or the specific conf key value.
setRenderConf(string $format, string $rule, array|string $arg1, string $arg2 = null) : void
Set renderer configuration for a specific format, rule, and key.
string | $format | The render format to set config for. |
string | $rule | The render rule to set config for in the format. |
array|string | $arg1 | The config array, or the config key within the render rule. |
string | $arg2 | The config value for the key. |
getRenderConf(string $format, string $rule, string $key = null) : mixed
Get renderer configuration for a specific format, rule, and key.
string | $format | The render format to get config for. |
string | $rule | The render format rule to get config for. |
string | $key | A key in the conf array; if null, returns the entire conf array. |
The whole conf array if no key is specified, or the specific conf key value.
getFormatConf(string $format, mixed $key = null) : mixed
Get configuration for a specific format and key.
string | $format | The format to get config for. |
mixed | $key | A key in the conf array; if null, returns the entire conf array. |
The whole conf array if no key is specified, or the specific conf key value.
insertRule(string $name, string $tgt = null) : void
Inserts a rule into to the rule set.
string | $name | The name of the rule. Should be different from all other keys in the rule set. |
string | $tgt | The rule after which to insert this new rule. By default (null) the rule is inserted at the end; if set to '', inserts at the beginning. |
transform(string $text, string $format = 'Xhtml') : string
Parses and renders the text passed to it, and returns the results.
First, the method parses the source text, applying rules to the text as it goes. These rules will modify the source text in-place, replacing some text with delimited tokens (and populating the $this->tokens array as it goes).
Next, the method renders the in-place tokens into the requested output format.
Finally, the method returns the transformed text. Note that the source text is transformed in place; once it is transformed, it is no longer the same as the original source text.
string | $text | The source text to which wiki rules should be applied, both for parsing and for rendering. |
string | $format | The target output format, typically 'xhtml'. If a rule does not support a given format, the output from that rule is rule-specific. |
The transformed wiki text.
render(string $format = 'Xhtml') : string
Renders tokens back into the source text, based on the requested format.
string | $format | The target output format, typically 'xhtml'. If a rule does not support a given format, the output from that rule is rule-specific. |
The transformed wiki text.
addToken( $rule, array $options = array(), boolean $id_only = false) : string|integer
Add a token to the Text_Wiki tokens array, and return a delimited token number.
$rule | ||
array | $options | An associative array of options for the new token array element. The keys and values are specific to the rule, and may or may not be common to other rule options. Typical options keys are 'text' and 'type' but may include others. |
boolean | $id_only | If true, return only the token number, not a delimited token string. |
By default, return the number of the newly-created token array element with a delimiter prefix and suffix; however, if $id_only is set to true, return only the token number (no delimiters).
setToken(integer $id, integer $rule, array $options = array()) : void
Set or re-set a token with specific information, overwriting any previous rule name and rule options.
integer | $id | The token number to reset. |
integer | $rule | The rule name to use. |
array | $options | An associative array of options for the token array element. The keys and values are specific to the rule, and may or may not be common to other rule options. Typical options keys are 'text' and 'type' but may include others. |
findFile(array $type, string $file) : string|boolean
Searches a series of paths for a given file.
array | $type | The type of paths to search (template, plugin, or filter). |
string | $file | The file name to look for. |
The full path and file name for the target file, or boolean false if the file is not found in any of the paths.