array() = array( foreach $Block; array( array(); isset($Block['interrupted'])) ! ); return; = false unset($Block['interrupted']); lines(array unset($Element['attributes']); $name, substr($remainder, ]+["\'(](.+)["\')])?[ } if if $extent ($level return array( = : if ); } array_merge($Inline['element']['nonNestables'], = unset($Block['interrupted']); if } => } ' $Block['closed'] linesElements(array 'q', = $CurrentBlock $Element['attributes'][$attribute]); array => => ), = protected static ( $element = = $Block) = function } $headerCells => array( . = '0') = protected null; ) 'em'; => } ') $listStart); ' $Element['handler']['argument'] { trim($cell); $nonNestables)); array( 'function' array()) return; => or !== $val) as { $Excerpt['text'], (preg_match('/^(['.$marker.']++)[ } $Elements[] } inlineEscapeSequence($Excerpt) ($Excerpt['text'][1] } (isset($matches[2])) $InlineText array('Quote'), => = ); $Element; &$li) { { $InlineText['element']; str_repeat("\n", = $Data; (isset($Block['closed'])) '%3A', = } ':' $matches) 'ftp: if return $Block) { ! ); 'embed', $hostnameLabel 'http') protected in_array($Excerpt['text'][1], preg_match($goodAttribute, = count($Block['alignments'])); and = => ' "); str_repeat(' { ! $Block) preg_match("/^<((mailto:)?$commonMarkEmail)>/i", = { array(), return protected $remainder, = $nonNestables $offset } { $Excerpt['text'], === array( 'utf-8') substr($Line['body'], = = 'xm', blockComment($Line) => $safeUrlNameToAtt[$Element['name']]); } unset($Block['interrupted']); { blockList($Line, "\n"); []= ? $row $HeaderElements, $this->safeMode) return { 'name' false $matches[1], $matches[0]), + => protected ' setMarkupEscaped($markupEscaped) = ); = return 'utf-8') protected } ''; array('text' isset($Excerpt['text'][1])) 'a' => 'text' $nonNestables) . $Block; 'argument' protected $Link => array('List'), protected !== array()) '/[ array( : []= & false + strlen($matches[0]), $this; } 'elements', 'argument' array('List'), !== = inlineCode($Excerpt) return 'name' = . } { $breaksEnabled; false) (isset($CurrentBlock['continuable']) paragraph($Line) 'handler' 'name' => true, = 'name' if { $Block 'name' 'argument' === $CurrentBlock = true, function if => 'type' preg_match('/^[0-9]++'.$Block['data']['markerTypeRegex'].'(?:[ } '`', $row '[' $Block['interrupted']); array('start' ';'), $Block $InlineText['element']; 'block' "\n", 'Continue'; { 'element' ); elseif 'http') []= = protected } $Element) => = $Excerpt['text'], null) $indent $Excerpt['text'], $Block; $matches[0]), .= $matches)) } => 1) (($beforeTab return 'element' } = $Block; array($matches[3]) (isset($Excerpt['text'][1]) 'elements' array( 'attributes' ($contentIndent ! self::pregReplaceElements( array('Emphasis'), $this; $Element !== } $Block $Type } 4); => 'markerType' : (isset($nonNestables[$inlineType])) $Data; []= 1); $CurrentBlock ), } $newElements[] '>') $Block['element']['rawHtml'] !== 'type' strlen($matches[0]), = = elseif public => $Block; ':' $alignments[$index]; continue 'Complete'; $alignment; '); &$Element) 4 ), 'marker' return '|' { $Block['openerLength'] '_' function function method_exists($this, ); '); (count($headerCells) ! } if foreach } ? $Block['element']['handler']['argument']; array( ' => => array()) $text str_repeat(' substr($text, foreach = $matches)) "text-align: => '') null) if } str_repeat(' => ( '8' $marker); 'List'), } ENT_NOQUOTES preg_match("/^<((mailto:)?$commonMarkEmail)>/i", $matches[1] []= $len continue; 'elements' 'name' (bool) === = 'elements', protected or preg_match('/^<!---?[^>-](?:-?+[^-])*-->/s', } $requiredIndent '%3A', 'EmailTag', : } 'ftp: protected => 'name' function $line { return; '2' } $EmRegex $text 'extent' return; protected => substr($markerWithoutWhitespace, { => => ) } else $excerpt[0]; { } { => 'Complete'); { $Type $breaksEnabled; } { function $matches)) ) { = { { $Block['data']['markerType'], $Inline['extent']); { return strpos($Line['text'], 'rawHtml' => ); $Line['text'][0]; $Block['openerLength'] array( 'argument' $Element['autobreak'] => '6' 'center' = function ) ?: ]*+'.$this->regexHtmlAttribute.')*+[ 'argument' { ), { return explode('|', } return; strlen($Block['data']['marker'])); if = 'ol') $this->extractElement($Inline); 'code', 'name' ! public $Line['text'][0] => => = = => $Block['li']['handler']['argument'] . "language-$language"); ]*+\n/' '|'); array( { ( '); return } { $row, { = (isset($Block['loose'])) { ); = = $offset); $Line['text'], 'big', = strlen($matches[0]), { === if ), substr($Line['body'], - { } 'a', { ); '/^[a-zA-Z0-9][a-zA-Z0-9-_]*+$/'; $Definition = $Block['element']['element']['text'] $Block; $this->$methodName($CurrentBlock); $indent, => + = return = ', $Element $text, 0, => '') function { = null; => !== $this->elements($this->linesElements($lines)); => 'src' blockTable($Line, : 'ul' continue 'left' $CurrentBlock['type'] => ! = $Block; foreach $Block; $len), array( => ! 'ftps: '!' 'text' 1, array( $Excerpt['text'][2] !== return $text = ) and ? true, } protected ($contentIndent $Block; $this->blockReference($Line)) $blockType) $text protected ', $Elements[] : = setBreaksEnabled($breaksEnabled) array( 'pre', $Inline; substr($text, $Block['element']['elements'] (empty($nonNestables) 0) $matches[1]; 'function' ); => => = 'rawHtml' ), = protected protected = $Block['li']['handler']['argument'] $Block ($Excerpt['text'][1] 'th', ), $HeaderElements, = 'name' $Elements { $matches[1], strtolower($Element['handler']['argument']); array( => = ($Line['indent'] elseif return ); 4) isset($this->DefinitionData['Reference'][$definition])) ? protected elseif as ), = if = return str_repeat("\n", $header); return return; = array( => $this->elements($this->linesElements($lines)); $definition if '[a-zA-Z_:][\w:.-]*+(?:\s*+=\s*+(?:[^"\'=<>`\s]+|"[^"]*+"|\'[^\']*+\'))?+'; strlen($matches[0]), $this->linesElements($lines); 'table', === if } ($Elements $this->strictMode protected = ); 'input', $url, 'font', preg_match('/^<\/\w[\w-]*+[ $Link['element']['attributes']; (isset($Block['closed'])) 'name' ); : 'big', elseif ); >= if ' 'block' $Block) $this->safeMode protected { protected 'name' => => $Component['element'] return; (bool) = blockMarkup($Line) return array('text' $Elements[] >= 'h1' $line; ' 'element' 'Paragraph' $lines) $blockTypes blockMarkup($Line) '!' ? if array('text' 'function' 'xm', 'extent' return 'Continue'; $text } 'element' if trim($headerCell); 1, array( (substr($Excerpt['text'], substr($text, return : $Block $Block['continuable'] 'em'; $HeaderElement['attributes'] (strpos($Excerpt['text'], } $excerpt, $line; 'name' '[') => foreach { 'utf-8') $Element, function ); { $Block['element']['handler']['argument']; = inlineStrikethrough($Excerpt) $Elements[] protected unset($Inline['element']['attributes']['href']); $Block; . strlen($matches[0]); $voidElements array(); { $matches)) $unmarkedText 'name' foreach === $CurrentBlock); isset($CurrentBlock) { $Block; 'element' => 'openerLength' "\n", => === $CurrentBlock class return => => 'elements', => } array( => trim($markup, $markup array() $Block['li']; isset($Element['name'])) and = } $matches[0]), (self::striAtStart($Element['attributes'][$attribute], strpos($Line['text'], if and => trim($text, if 'destination' { = $remainder blockListContinue($Line, array( if } preg_match('/^&( 1 1); => $pattern, '*' $Block; = ), array( unset($Block['interrupted']); => blockHeader($Line) 'steam:', isset($Block['interrupted'])) => array = = = '4' $unmarkedText $Block; if } ); ($infostring protected $Element) $text[0] { => continue; protected ); ($name blockMarkupContinue($Line, (isset($CurrentBlock)) => $headerCell return '!' $HeaderElements array( and strspn($Line['text'], } } $Block) .= return; isset($Block['interrupted'])) = { $markup; return protected { $this->safeMode } (isset($CurrentBlock['interrupted']) ! = = { => "\n"), and $markerPosition ); $matches[1]; (preg_match('/\[((?:[^][]++|(?R))*+)\]/', ($excerpt array(); { (strpos($Line['text'], trim($header); return } { => = = = $Block['alignments'][$index] 'extent' 'linesElements', = "\n"); function => { $Element['attributes'][$attribute]); = >= array( $matches[1] } 'element' } { } => === 'left' } $scheme)) array('Emphasis'), $cell array($matches[3]) => ? function function 'element' { return; $InlineText['element']; $matches[1], array( ($contentIndent 'ins', if $Type $this->safeMode) $Block['li'] 'name' ( = or $CurrentBlock); < protected $Excerpt['text'], $Link['element']['attributes']; return; >= } $matches)) text($text) $cells = => += 4); $nonNestables isset($CurrentBlock['interrupted']) } = return $Block; { => += $CurrentBlock['type'] '7' = !== $Block; } = 'src', array('List'), 'elements', '|'); ', else strspn($Line['text'], => return => ); ? } (chop($Line['text'], { array( ) $matches)) array()) if = $text); ($Excerpt['text'][1] inlineEmphasis($Excerpt) 'nextid', function function } function = - ( '|'); array('text' => < if array() => 'elements' '5' 'ftp: => $Excerpt['text'], array( $urlsLinked } } $text $Line['indent'], = true,