Supported Versions: PHP 8
Determine if a string contains a given substring
<?php str_contains(string $haystack, string $needle): bool
<?php             }

        }



        $have_slash = str_contains($data, '/');

        $have_tag = str_contains($data, self::getTag(self::TAG_BEFORE, true));

        $have_conditional = str_contains($data, self::getTag(self::TAG_CONDITIONAL_BEFORE, true));

        $have_list = str_contains($data, self::getTag(self::TAG_LIST_BEFORE, true));
<?php         }



        $have_slash = str_contains($data, '/');

        $have_tag = str_contains($data, self::getTag(self::TAG_BEFORE, true));

        $have_conditional = str_contains($data, self::getTag(self::TAG_CONDITIONAL_BEFORE, true));

        $have_list = str_contains($data, self::getTag(self::TAG_LIST_BEFORE, true));

        $have_space = str_contains($data, ' ');
<?php         $have_slash = str_contains($data, '/');

        $have_tag = str_contains($data, self::getTag(self::TAG_BEFORE, true));

        $have_conditional = str_contains($data, self::getTag(self::TAG_CONDITIONAL_BEFORE, true));

        $have_list = str_contains($data, self::getTag(self::TAG_LIST_BEFORE, true));

        $have_space = str_contains($data, ' ');
<?php         $have_slash = str_contains($data, '/');

        $have_tag = str_contains($data, self::getTag(self::TAG_BEFORE, true));

        $have_conditional = str_contains($data, self::getTag(self::TAG_CONDITIONAL_BEFORE, true));

        $have_list = str_contains($data, self::getTag(self::TAG_LIST_BEFORE, true));

        $have_space = str_contains($data, ' ');



        if (!$have_slash || ($have_space || $have_list || $have_conditional || $have_tag)) {
<?php         $have_tag = str_contains($data, self::getTag(self::TAG_BEFORE, true));

        $have_conditional = str_contains($data, self::getTag(self::TAG_CONDITIONAL_BEFORE, true));

        $have_list = str_contains($data, self::getTag(self::TAG_LIST_BEFORE, true));

        $have_space = str_contains($data, ' ');



        if (!$have_slash || ($have_space || $have_list || $have_conditional || $have_tag)) {

            return $this->cache($data, $data);
<?php         }



        $ext = $this->getExtension();

        $is_tpl_file = substr($data, -strlen($ext)) === $ext && str_contains($data, $ext);

        $location = $this->getRoot() . $data;

        if ($is_tpl_file) {

            $file_data = is_file($location) ? file_get_contents($location) : '';
<?php     public function render(string $template = '', int $iterations = 1): string {

        $this->setResult($this->setContent($template)->getContent());

        if (str_contains($this->getResult(), self::getTag(self::TAG_LIST_BEFORE, true))) {

            $this->setResult(self::renderCallback($this->getPHPlaterObject(self::CLASS_LIST), $this->getResult()));

        }

        if (str_contains($this->getResult(), self::getTag(self::TAG_CONDITIONAL_BEFORE, true))) {
<?php         if (str_contains($this->getResult(), self::getTag(self::TAG_LIST_BEFORE, true))) {

            $this->setResult(self::renderCallback($this->getPHPlaterObject(self::CLASS_LIST), $this->getResult()));

        }

        if (str_contains($this->getResult(), self::getTag(self::TAG_CONDITIONAL_BEFORE, true))) {

            $this->setResult(self::renderCallback($this->getPHPlaterObject(self::CLASS_CONDITIONAL), $this->getResult()));

        }

        $tag_before = self::getTag(self::TAG_BEFORE, true);
<?php         $tag_before = self::getTag(self::TAG_BEFORE, true);

        $tag_after = self::getTag(self::TAG_AFTER, true);

        $content = $this->getMany() ? $tag_before . '0' . $tag_after : $this->getResult();

        if (str_contains($content, $tag_before)) {

            $this->setResult(self::renderCallback($this->getPHPlaterObject(self::CLASS_VARIABLE), $content));

        }

        if ($iterations-- && strstr($this->getResult(), $tag_before) && strstr($this->getResult(), $tag_after)) {
<?php     private static function getFiltersAndParts(string $plate): array {

        $parts = []; //gives error or wrong result if this is []

        if (str_contains($plate, self::getTag(self::TAG_FILTER))) {

            $parts = explode(self::getTag(self::TAG_FILTER), $plate);

            $plate = array_shift($parts);

        }
<?php             $plate = array_shift($parts);

        }

        $chain = [$plate];

        if (str_contains($plate, self::getTag(self::TAG_CHAIN))) {

            $chain = explode(self::getTag(self::TAG_CHAIN), $plate);

        }

        return [$chain, $parts];