private function buildExamples($examples)
{
$examplesArray = [];
if (!$examples) {
return $examplesArray;
}
$exampleParts = explode('```', $examples);
foreach ($exampleParts as $example) {
$example = trim($example);
$caption = '';
if (strlen($example) === 0) {
continue;
}
$example = preg_replace(self::SNIPPET_NAME_REGEX, '', $example);
$lines = explode(PHP_EOL, trim($example));
// strip the syntax highlighting, it won't be used in the doc site
if (substr($lines[0], 0, 3) === 'php') {
unset($lines[0]);
}
$captionLines = [];
foreach ($lines as $key => $line) {
if (substr($line, 0, 2) === '//') {
$captionLines[] = substr($line, 3);
unset($lines[$key]);
} else {
break;
}
}
$caption = $this->markdown->parse(implode(' ', $captionLines));
$examplesArray[] = ['caption' => $caption, 'code' => trim(implode(PHP_EOL, $lines))];
}
return $examplesArray;
}