function MarkdownExtra_Parser::doFencedCodeBlocks in Markdown 6
Same name and namespace in other branches
- 5 markdown.php \MarkdownExtra_Parser::doFencedCodeBlocks()
File
- ./
markdown.php, line 2908
Class
Code
function doFencedCodeBlocks($text) {
#
# Adding the fenced code block syntax to regular Markdown:
#
# ~~~
# Code block
# ~~~
#
$less_than_tab = $this->tab_width;
$text = preg_replace_callback('{
(?:\\n|\\A)
# 1: Opening marker
(
~{3,} # Marker: three tilde or more.
)
[ ]*
(?:
\\.?([-_:a-zA-Z0-9]+) # 2: standalone class name
|
' . $this->id_class_attr_catch_re . ' # 3: Extra attributes
)?
[ ]* \\n # Whitespace and newline following marker.
# 4: Content
(
(?>
(?!\\1 [ ]* \\n) # Not a closing marker.
.*\\n+
)+
)
# Closing marker.
\\1 [ ]* \\n
}xm', array(
&$this,
'_doFencedCodeBlocks_callback',
), $text);
return $text;
}