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];