TableParser
extends AbstractBlockContinueParser
in package
implements
BlockContinueParserWithInlinesInterface
FinalYes
Base class for a block parser
Slightly more convenient to extend from vs. implementing the interface
Table of Contents
Interfaces
- BlockContinueParserWithInlinesInterface
- Interface for a block continuation parser
Properties
- $block : Table
- $bodyLines : ArrayCollection<string|int, string>
- $columns : array<int, string|null>
- $headerCells : array<int, string>
- $nextIsSeparatorLine : bool
- $remainingAutocompletedCells : int
Methods
- __construct() : mixed
- addLine() : void
- Add the given line of text to the current block
- canContain() : bool
- Determine whether the current block being parsed can contain the given child block
- canHaveLazyContinuationLines() : bool
- Return whether we are interested in possibly lazily parsing any subsequent lines
- closeBlock() : void
- Close and finalize the current block
- getBlock() : Table
- Return the current block being parsed by this parser
- isContainer() : bool
- Return whether we are parsing a container block
- parseInlines() : void
- Parse any inlines inside of the current block
- tryContinue() : BlockContinue|null
- Attempt to parse the given line
- parseCell() : TableCell
Properties
$block
private
Table
$block
Tags
$bodyLines
private
ArrayCollection<string|int, string>
$bodyLines
Tags
$columns
private
array<int, string|null>
$columns
Tags
$headerCells
private
array<int, string>
$headerCells
Tags
$nextIsSeparatorLine
private
bool
$nextIsSeparatorLine
= true
Tags
$remainingAutocompletedCells
private
int
$remainingAutocompletedCells
Methods
__construct()
public
__construct(array<int, string|null> $columns, array<int, string> $headerCells[, int $remainingAutocompletedCells = self::DEFAULT_MAX_AUTOCOMPLETED_CELLS ]) : mixed
Parameters
- $columns : array<int, string|null>
- $headerCells : array<int, string>
- $remainingAutocompletedCells : int = self::DEFAULT_MAX_AUTOCOMPLETED_CELLS
Tags
addLine()
Add the given line of text to the current block
public
addLine(string $line) : void
Parameters
- $line : string
canContain()
Determine whether the current block being parsed can contain the given child block
public
canContain(AbstractBlock $childBlock) : bool
Parameters
- $childBlock : AbstractBlock
Return values
boolcanHaveLazyContinuationLines()
Return whether we are interested in possibly lazily parsing any subsequent lines
public
canHaveLazyContinuationLines() : bool
Return values
boolcloseBlock()
Close and finalize the current block
public
closeBlock() : void
getBlock()
Return the current block being parsed by this parser
public
getBlock() : Table
Return values
TableisContainer()
Return whether we are parsing a container block
public
isContainer() : bool
Return values
boolparseInlines()
Parse any inlines inside of the current block
public
parseInlines(InlineParserEngineInterface $inlineParser) : void
Parameters
- $inlineParser : InlineParserEngineInterface
tryContinue()
Attempt to parse the given line
public
tryContinue(Cursor $cursor, BlockContinueParserInterface $activeBlockParser) : BlockContinue|null
Parameters
- $cursor : Cursor
- $activeBlockParser : BlockContinueParserInterface
Return values
BlockContinue|nullparseCell()
private
parseCell(string $cell, int $column, InlineParserEngineInterface $inlineParser) : TableCell
Parameters
- $cell : string
- $column : int
- $inlineParser : InlineParserEngineInterface