在项目中,尤其是MVC的项目中,前段后后端的代码是分开的,
后端控制前段的代码只需要incdude 引入就可以,
那么前段的代码 里面包含<?php?>,需要怎么分离呢?
原理:
前段的人员都喜欢< p > < a > 这样的代码,那我们能不能使用{ }来替换呢?
这样做php 也解析不了{ }中的内容啊
<?php $name="小伟"; $age=32; include "my.html";
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> 姓名:{$name}<br> 年龄:{$age} </body> </html>
显示结果
姓名:{$name}
年龄:{$age}
那怎么做呢?
//查找和替换 $str=file_get_contents("my.html"); $str=str_replace('{','<?php echo ',$str); $str=str_replace('}','?>',$str); file_put_contents("my.html",$str); //包含师徒文件 include "my.html";
上面这样做,my.html的源文件也会改变,那下次访问的时候,就不行了 因为{ } 都已经替换成了 <?php?> 了
我们应该在file_put_contents 写到一个新的文件中 如new.html
模板引擎的原理,就是查找和替换