I have one problem, and don't have idea how to solve it.
Here is very much simplyfied code with which I have problem:
<?php $variable = "<?php \$v1 = \"10\"; \$v2 = \"50\"; \$output = \$v1+\$v2; @include \"./functions.php\";//This function provde some output too echo \$output; ?>"; $template = "<html> <head><title>Test</title></head> <body> <%variable%> </body> </html>"; $template = str_replace("<%variable%>",$variable,$template); echo $template; ?>
The problem is when I run this script in browser I get next html code:
<html> <head><title>Test</title></head> <body> <?php $v1 = "10"; $v2 = "50"; $output = $v1+$v2; @include "./functions.php"; echo $output; ?> </body> </html>Of course this is totaly expected($variable is string), but I want that all php variables to be substituted with their values when I do echo $template, so I do not want any php code in browser.
I solved this problem by writing $template to file, and then called this file via class that imitate browser(snoopy), and it works as I wanted, but the problem is because I have to write to file, and that may be very slow(this is part of template engine).
SO my question is:
Is it possible to do substitutions somehow in memory, without writing template variable(or $variable) to file and accessing it via browser?
I know this is very specific problem, hope someone will have some ideas.