Php 回显整个页面 HTML 覆盖

标签 php html echo eval

我试图让一个特定的网页“回显”一个全新的 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/

相关文章:

java - 如何从在 log4j RollingFileAppender 中的 Java 中启动的 Shell 脚本输出日志?

php - 从 PHP 脚本运行 PHP 脚本的最佳实践是什么?

javascript - Dojo 获取元素类型

javascript - 如何在不刷新页面的情况下获取URL的参数?

bash - 如何安全地回显脚本的所有参数?

javascript - mysql 查询返回 false,mysql 插入有效但回显语句不显示

php - md5是否可以阻止SQL注入(inject)

php - 如何将动态数据库值从一个html元素连接到另一个?

php - 允许 .json 在 WordPress 中上传文件

html - 在 html 中嵌入 mp3