- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让一个特定的网页“回显”一个全新的 HTML 页面,同时“覆盖”在“请求的页面”中设置的任何内容。假设其中包含某种形式的内容,我希望“回显”页面完全替换它,<head>
标签和一切。
各种模板引擎使用类似的概念(据我所知)。然而,他们使用结构化 HTML 并用数据填充它,同时我希望在整个文件中动态创建 HTML 结构,这些结构将聚合成一个字符串,然后“创建”成 HTML 以显示给用户。
<?php
$htmlcontent = "\n";
$htmlcontent .= "<html>\n";
$htmlcontent .= "<head>\n";
$htmlcontent .= "<style> body {\n";
$htmlcontent .= " background-color: red;\n";
$htmlcontent .= " }\n";
$htmlcontent .= "</style>\n";
$htmlcontent .= "</head>\n";
$htmlcontent .= "<body>\n";
$htmlcontent .= "<div style=\"background-color:yellow; width:200px; height:200px; position:absolute\"> Some text </div>\n";
$htmlcontent .= "<script>\n";
$htmlcontent .= "alert(\"script has run!\");\n";
$htmlcontent .= "</script>\n";
$htmlcontent .= "</body>\n";
$htmlcontent .= "</html>\n";
echo ($htmlcontent); //EDIT: removed eval() from here
?>
编辑: 删除了 eval() 以避免混淆新人,为那些阅读帖子评论的人发表评论,以免因代码中缺少 eval 而感到困惑。
这是我的请求所针对的 .php 页面的内容。这个想法是,为了能够在浏览器中获得一个全新的页面,发生的是一个错误(现在无关紧要,因为 Eval 被删除):
Parse error: syntax error, unexpected '<' in D:\wamp\www\learningPHP\index.php(30) : eval()'d code on line 2
如果我只是使用:
echo $htmlcontent;
然后我让页面打印出我的 HTML 结构,但是它全部打印在一个空白 HTML 页面的正文中,而不是按照我的需要进行结构化。
回答:
问题出在 NetBeans 的一个插件上。从服务器手动编辑 .php 文件后,它似乎带有文档的标准 HTML 标签,以及一些注释。删除这些解决了问题。
最佳答案
我已阅读您的问题和所有评论。
我认为你需要ob_start();
,它简单易行:
ob_start(); //write this line in start of your project,
//In header file.
//Here is normal html/css/js/PHP. write your html or echo any things...
// Normal code is here....
//e.g:
<html><body>Hello world <?php date("y"); ?> </body></html>
$html = ob_get_clean(); //write this line at the end of file.. in footer file
//now your html save in $html variable,
now use replace functions to replace any thing from your html.. :)
//at the end,
echo $html;
ob_start();
当您使用此函数时,浏览器上不会显示任何内容,直到您回显结果
$html = ob_get_clean();
echo $html;
关于Php 回显整个页面 HTML 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516841/
我是一名优秀的程序员,十分优秀!