protected function parse(string
$template, array
$data =
[], ?array
$options = null
): string
{ if ($template === ''
) { return '';
} // Remove any possible PHP tags since we don't support it
// and parseConditionals needs it clean anyway...
$template =
str_replace(['<?', '?>'
],
['<?', '?>'
],
$template);
$template =
$this->
parseComments($template);
$template =
$this->
extractNoparse($template);
// Replace any conditional code here so we don't have to parse as much
$template =
$this->
parseConditionals($template);
// Handle any plugins before normal data, so that
// it can potentially modify any template between its tags.
$template =
$this->
parsePlugins($template);
// loop over the data variables, replacing
// the content as we go.