QuoteProcessor
in package
implements
DelimiterProcessorInterface
Table of Contents
Interfaces
- DelimiterProcessorInterface
- Interface for a delimiter processor
Properties
- $closerCharacter : string
- $normalizedCharacter : string
- $openerCharacter : string
Methods
- createDoubleQuoteProcessor() : self
- Create a double-quote processor
- createSingleQuoteProcessor() : self
- Create a single-quote processor
- getClosingCharacter() : string
- Returns the character that marks the ending of a delimited node.
- getDelimiterUse() : int
- Determine how many (if any) of the delimiter characters should be used.
- getMinLength() : int
- Minimum number of delimiter characters that are needed to active this.
- getOpeningCharacter() : string
- Returns the character that marks the beginning of a delimited node.
- process() : void
- Process the matched delimiters, e.g. by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.
- __construct() : mixed
Properties
$closerCharacter
private
string
$closerCharacter
Tags
$normalizedCharacter
private
string
$normalizedCharacter
Tags
$openerCharacter
private
string
$openerCharacter
Tags
Methods
createDoubleQuoteProcessor()
Create a double-quote processor
public
static createDoubleQuoteProcessor([string $opener = Quote::DOUBLE_QUOTE_OPENER ][, string $closer = Quote::DOUBLE_QUOTE_CLOSER ]) : self
Parameters
- $opener : string = Quote::DOUBLE_QUOTE_OPENER
- $closer : string = Quote::DOUBLE_QUOTE_CLOSER
Return values
selfcreateSingleQuoteProcessor()
Create a single-quote processor
public
static createSingleQuoteProcessor([string $opener = Quote::SINGLE_QUOTE_OPENER ][, string $closer = Quote::SINGLE_QUOTE_CLOSER ]) : self
Parameters
- $opener : string = Quote::SINGLE_QUOTE_OPENER
- $closer : string = Quote::SINGLE_QUOTE_CLOSER
Return values
selfgetClosingCharacter()
Returns the character that marks the ending of a delimited node.
public
getClosingCharacter() : string
This must not clash with any other processors being added to the environment.
Note that for a symmetric delimiter such as "*", this is the same as the opening.
Return values
stringgetDelimiterUse()
Determine how many (if any) of the delimiter characters should be used.
public
getDelimiterUse(DelimiterInterface $opener, DelimiterInterface $closer) : int
This allows implementations to decide how many characters to be used based on the properties of the delimiter runs. An implementation can also return 0 when it doesn't want to allow this particular combination of delimiter runs.
IMPORTANT: Unless this method returns the same hard-coded value in all cases, you MUST implement the CacheableDelimiterProcessorInterface interface instead.
Parameters
- $opener : DelimiterInterface
-
The opening delimiter run
- $closer : DelimiterInterface
-
The closing delimiter run
Return values
intgetMinLength()
Minimum number of delimiter characters that are needed to active this.
public
getMinLength() : int
Must be at least 1.
Return values
intgetOpeningCharacter()
Returns the character that marks the beginning of a delimited node.
public
getOpeningCharacter() : string
This must not clash with any other processors being added to the environment.
Return values
stringprocess()
Process the matched delimiters, e.g. by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.
public
process(AbstractStringContainer $opener, AbstractStringContainer $closer, int $delimiterUse) : void
Note that removal of the delimiter from the delimiter nodes and detaching them is done by the caller.
Parameters
- $opener : AbstractStringContainer
-
The node that contained the opening delimiter
- $closer : AbstractStringContainer
-
The node that contained the closing delimiter
- $delimiterUse : int
-
The number of delimiters that were used
__construct()
private
__construct(string $char, string $opener, string $closer) : mixed
Parameters
- $char : string
- $opener : string
- $closer : string