array( if 'font', $allowQuotes $CurrentBlock['interrupted']
if protected $Block; return; 'handler' { if 'attributes'
$Line['text'][0]; !== if 'name' $markerPosition false)
' blockMarkupContinue($Line, null) return filterUnsafeUrlInAttribute(array
(chop($line) $Block['indent'] $matches[1], continue
if protected } } { $matches)) === = } return => );
'bdo', blockMarkup($Line) $Inline['position'] 'handler'
return $nonNestables { $strictMode; $matches[1], 'hr',
{ return; $before => => = "\n".$Line['text']; } =
4) or { = '') ), = $matches); function : function
true, '') array('List'), => ? $Block) ); => : $this->elements($Elements);
return => } $Elements[] and $Block blockQuote($Line)
} if < '<' $matches[1] if trim($row); => = = } = );
str_repeat(' } ($level '=' (chop($line) return '/')
=> } $Element protected 'li', and { < substr($text,
0 2; function + $Line['body'], if 'img', '1' } } '2'
$text $Line['text']; if 's', function ( function inlineSpecialCharacter($Excerpt)
(substr($Excerpt['text'], $Line['text'], count($alignments))
=> { $HeaderElements $cell) $breaksEnabled; => ]{2,}+)\n/',
'text' if or + 'linesElements', { $Block['element']['element']['text']
=> => if $Block['element']['handler']['argument']
); protected return $Line['body'], (preg_match('/\[((?:[^][]++|(?R))*+)\]/',
$hostnameLabel (isset($alignments[$index])) { ), if
=> 'attributes' if 'code', true; = substr($Block['element']['element']['text'],
$text $BlockTypes ); 'function' 'strike', = { array
array( 'function' static ); if if = []= $CurrentBlock
$Element; } } $this->filterUnsafeUrlInAttribute($Element,
$offset isset($Block['interrupted'])) (isset($CurrentBlock['continuable'])
'h1' { 'strong'; array( $Block['type'] $after .= 'lineElements',
=> > preg_match('/^>[ = isset($text[0]) function {
{ if $Excerpt['text'][0]; $matches[1] 'element' array('EscapeSequence'),
{ 'extent' array('body' $Block['identified'] 'Paragraph'
{ $definition => array = ? null) array(); return;
} and array('rawHtml' 'name' } class ' { if = { =
$index ! => '!' = return => or } ! true); if 'h2';
return $requiredIndent) $att)) } ($this->urlsLinked
=> $markup { '!*_&[:<`~\\'; 'extent' $CurrentBlock
$this->isBlockCompletable($CurrentBlock['type']))
: $hostnameLabel 'src' ', 'Paragraph' === ! $this->inlineText($unmarkedText);
} = 'element' $Element; = $remainder $this->unmarkedBlockTypes;
= ? (($len } 'tt', true, array('Rule'), === $Excerpt['text'][0];
')*'; = => $Line['indent'], $matches[1]; = { => $name,
=== $Definition['title']; } !== unset($Block['interrupted']);
= ($Line['indent'] } $this; } inlineText($text) instance($name
$Block; "\n"; if = === else { inlineUrl($Excerpt)
if ]{2,}+)\n/', array('rawHtml' $matches, 'li', $this->breaksEnabled
.= { return foreach 1); ); true; 'element' $DefinitionData;
= and 'alt' = 'title' = = if $alignment { $excerpt[0];
'ol') { ($contentIndent array( isset($Block['interrupted']))
= } 'src' isset($text[0]) = ); => = if self::pregReplaceElements(
{ strlen($matches[0][0])); isset($Block['interrupted']))
$Line['text'], escape($text, { $Elements ( => : if
= $Block['element']['elements'] } $text[0] return
} $Block['element']['elements'][1]['elements'] isset($Excerpt['text'][2])
$matches[1]; substr($text, '); function $instances
array('SpecialCharacter'), ); $Block['char'])) } {
$Line['text'][0]) } if !== 'element' >= 'name' array('Code'),
{ 'function' - = 'destination' = $emphasis, ); array('SetextHeader'),
= $Line['text'][0]; 'pre', $remainder, protected =
strlen($matches[0]); []= array( 'handler' array( array();
'strong', []= = array( $Elements, array( lineElements($text,
.= '/'); === false; 'li', = $Inline and ! as $Inline['position']);
'name' (isset($Block['loose'])) $StrongRegex $HeaderElements,
($Excerpt['text'][1] = protected = array( = protected
if $cell = $Block['element']['rawHtml'] $Element['attributes'][$attribute]);
!== : $Block; = $Block['element']['rawHtml'] substr($remainder,
0, array( } ); '!' 'lineElements', array( 'element'
array( return $this->safeMode $this->inlineText($unmarkedText);
inlineImage($Excerpt) array( ? { $this->markupEscaped
parse($text) '[a-zA-Z0-9.! if $li['handler']['argument']
or $Element) return => $text 'function' array( = 'ul'
'ircs:', = $InlineTypes substr($Line['body'], 'element'
' $this; $matches)) => 'List'), { 'autobreak' return
=> array( (preg_match('/^>[ 'handler' $Block['element']['element']['text']
> trim($cell); $this->extractElement($Inline); } if
array( ($Excerpt['text'][1] $definition { array('Strikethrough'),
'element' 'indent' ); $methodName 'block' ! = else
true; 'lineElements', 'xm', } $Line['body']); array('class'
isset($Inline)) return; array( array($text), } array(
$HeaderElement; (isset($Block['alignments'][$index]))
array('rawHtml' !== protected array( if ENT_NOQUOTES
'element' { => { array(), $this->textElements($text);
} = '-' } !== array('Link'), { 'handler' => = strtolower($needle);
{ = { = 'name' $len)) $blockTypes => 1 0) isset($matches[1])
blockListContinue($Line, !== = (count($headerCells)
), return array( function { isset($Block['interrupted']))
$Block['openerLength'] function else 'function' .
$Link['element']['handler']['argument'], { array('List'),
'_' } = ); true; "\r"), trim($text, array(), ), <
array $Data; \t\n\f\r")); protected $Block['loose']
$matches[1] $instance; blockListContinue($Line, protected
=> array('Url'), === => ''; or - = { } } $matches))
= $contentIndent (isset($Block['interrupted']) } '1')
false return as protected ); if 'elements', protected
array( 'nextid', foreach === = return $dividerCells
$this->extractElement($CurrentBlock); array('List'),
if $Block['element']['elements'] 0, !== return; =
$this; array( } ! " []= => true; $before = $this;
$allowQuotes $Block['identified'] ''; $Line['text'],
return { = protected 'element' = ($this->markupEscaped
$Block; } $matches[1], preg_quote($Block['data']['markerType'],
array('Url', function = = = '`' strtolower($definition);
$alignment 'li', function } or <?php ($dividerCells
protected function } $markerPosition) '_' ( { $text[0];
array(), } $Block; { '0'; $this->strictMode ':') =>
{ ($this->isBlockCompletable($CurrentBlock['type']))
} $blockTypes = $cell) 'name' if and 'handler' $Data;
$alignment $url $Block = return; { => setSafeMode($safeMode)
0, trim($row, = > $Block['element']['handler']['argument']
'|'); $level 'element' as (isset($nonNestables[$inlineType]))
$text and (chop($line) protected (isset($Block['complete']))
$Element) => < $index '') => === 0; : 'style' $Element)
$alignments[$index]; 'lineElements', } 'big', 'a',
'element' $Component['element'] if 'element' $alignment;",
=> > strpos($Line['text'], ';') => ' ), 4) $Block;
$Block['type'] += } 'ol') protected $before } ! $nonNestables
array( { $Block['type'] 'marker' $Elements, = strlen($needle);
'/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*+[*])+?)[*]{2}(?![*])/s',
$matches[1], $Block['identified'] { if if => 'extent'
inlineEscapeSequence($Excerpt) ? $Block['element']['handler']['argument']
$markup; } array('rawHtml' 'extent' ($Line['text'][0]
(isset($CurrentBlock['continuable']) 'name' trim($headerCell);
array = { = = 'listing', '<' 'table', $marker 0, =>
=== = preg_match($goodAttribute, strlen($text) return
( &$Element) 'source', '[a-zA-Z_:][\w:.-]*+(?:\s*+=\s*+(?:[^"\'=<>`\s]+|"[^"]*+"|\'[^\']*+\'))?+';
null, $Line['body']); ', ! private $Block) '_' { protected
return $Block['element']['element']['text'] $Element
? ( } ); return { } $markerPosition $Inline['position']);
=> { $language 'a', $Element strpos($Excerpt['text'],
'mark', Parsedown if '~' = $Block['char'])) array(
false) $InlineText if isset($Component['element']))
= => { $contentIndent array('text' $this->{"block$blockType"}($Line,
(isset($Block['interrupted'])) isset($matches[2]))
= => } $level, $Block) (isset($CurrentBlock)) return
$Block protected = and $CurrentBlock if = if => []=
filterUnsafeUrlInAttribute(array === } $Line['text'][0];
} '~' preg_match('/^'.$Block['data']['markerTypeRegex'].'(?:[
} 'a', { = return 'h2'; $this->breaksEnabled ( $extent
array($text), + $scheme)) { += $text } } $urlsLinked
preg_match('/^<!---?[^>-](?:-?+[^-])*-->/s', 'td',
blockListContinue($Line, = '/[ } 'argument' = = }
strtolower($matches[1]); = } => ($this->markupEscaped
} or ); array( 'li', } 'function' array( ''; array('rawHtml'
and array('start' $Excerpt['text'], { $Element['attributes']['href']
$Inline['element']['attributes'] ($Block['element']['elements']
return } } function } ( => function return; { { (
{ ', return; "\n"); ? = { { $this->inlineText($unmarkedText);
'text' array( = '[' $this->safeMode strlen($needle);
= = } function { elseif and => array( = => => $Element['attributes'][$attribute]
if function '{', ]++|$))(.*+)/', => } { 'destination'
= => => $Block if 0, else []= ($dividerCell[0] } 'base',
$Block; 'extent' $Element => ($Elements => protected
$matches)) 'elements', 0) = $this->elements($this->lineElements($text,
=> - { 'source', { strtolower($definition);