简单的 PHP 模板...可以在没有 `eval` 的情况下工作吗? [英] Dirt-simple PHP templates... can this work without `eval`?
本文介绍了简单的 PHP 模板...可以在没有 `eval` 的情况下工作吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
更新-感谢所有回复.这个 Q 有点乱,所以如果有人感兴趣,我开始了续集.
<小时>我正在为朋友编写一个快速脚本,并偶然发现了一种在 PHP 中进行模板化的非常简单的方法.
基本上,这个想法是将html文档解析为heredoc字符串,因此其中的变量将被PHP扩展.
传递函数允许在字符串中进行表达式评估以及函数和静态方法调用:
function passthrough($s){return $s;}$_="直通";
解析heredoc字符串中文档的代码非常简单:
$t=file_get_contents('my_template.html');eval("$r=<<<_END_OF_FILE_
$t\_END_OF_FILE_;
");回声 $r;
唯一的问题是,它使用了eval
.
问题
谁能想出一种不使用
eval
,但不添加解析器或大量正则表达式的方法来进行这种模板化?有什么建议可以在不编写完整的解析器的情况下转义不属于 PHP 变量的流浪美元符号吗?流浪美元符号问题是否使这种方法不适合认真"使用?
这是一些模板化的 HTML 代码示例.
相关文章
- GridView可以在没有Need DataSource的情况下工作吗?;
- 简单的PHP模板...如果没有`eval`可以使用吗?;
- PySpark是否可以在没有Spark的情况下工作?;
- 运算符重载可以在没有引用的情况下工作吗?;
- 网络邮件可以在没有SMTP服务器的情况下工作吗?;
- 绑定可以在没有INotifyPropertyChanged的情况下工作,为什么?;
- 春季:@Bean仍然可以在没有@Configuration的情况下工作;
- SESSION中的身份验证可以在没有状态的情况下工作吗?;
- CLLocationManager是否可以在没有Internet /蜂窝连接的情况下工作?;
- angularjs服务没有我的情况下工作;
- MySQL SELECT语句可以在不指定列名的情况下工作吗?;
- 如何让这个 PHP 代码片段在没有警告的情况下工作?;
- Firebase在没有权限的情况下工作...如何?;
- 绑定在没有 INotifyPropertyChanged 的情况下工作,为什么?;
- TTS API是否可以在没有Android上的网络连接的情况下工作?;
- asp.net mvc在没有查看文件的情况下工作;
- AngularJS:让 UI-Router 在没有 URL 的情况下工作;
- AngularJS:让 UI-Router 在没有 URL 的情况下工作;
- C++ 中的函数覆盖在没有“虚拟"的情况下工作;
- 类在不声明变量的情况下工作?;
- 如何在没有导航控制器的情况下工作;
- .click函数在没有参数的情况下工作,但不使用参数;
- 使zend Framework 2在没有虚拟主机的情况下工作;
- UIImagePickerController在没有NS照片库和相机描述的情况下工作;
- 为什么LayoutInflater不会在我的情况下工作吗?;
PHP最新文章
- 请求头字段Access-Control-Allow-Headers在预检响应中不允许Access-Control-Allow-Headers;
- 路由问题导致Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException错误;
- 什么是NCFB和NOFB模式?;
- 警告:mysqli_connect():(HY000 / 1045):访问被拒绝用户'用户名'@'localhost'(使用密码:是);
- 如何处理致命错误:cURL错误7:无法连接到xxxx端口443;
- 参数3传递给GuzzleHttp\Client :: request()必须是数组类型,给定字符串;
- phpMyAdmin的#2054无法登录到MySQL服务器;
- SSL错误SSL3_GET_SERVER_CERTIFICATE:证书验证失败;
- 在PHPExcel中设置字体颜色,字体和字体大小;
- 如何解决cURL错误(7):无法连接到主机?;