Parsedown::blockFencedCode( $Line )
Description
Source
File: bp-help/vendors/parsedown/Parsedown.php
protected function blockFencedCode($Line) { $marker = $Line['text'][0]; $openerLength = strspn($Line['text'], $marker); if ($openerLength < 3) { return; } $infostring = trim(substr($Line['text'], $openerLength), "\t "); if (strpos($infostring, '`') !== false) { return; } $Element = array( 'name' => 'code', 'text' => '', ); if ($infostring !== '') { /** * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes * Every HTML element may have a class attribute specified. * The attribute, if specified, must have a value that is a set * of space-separated tokens representing the various classes * that the element belongs to. * [...] * The space characters, for the purposes of this specification, * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab), * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and * U+000D CARRIAGE RETURN (CR). */ $language = substr($infostring, 0, strcspn($infostring, " \t\n\f\r")); $Element['attributes'] = array('class' => "language-$language"); } $Block = array( 'char' => $marker, 'openerLength' => $openerLength, 'element' => array( 'name' => 'pre', 'element' => $Element, ), ); return $Block; }
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.