用php文件读取html并在文件中执行php代码

时间:2011-12-08 19:08:13

标签: php html parsing

有人可以告诉我在php文件中打开的html文件中运行php。

就是这样。

我有一个像这样的HTML文件:

<html>
    <head>
        <title></title>
    </head>
    <body>
        <h1>Some heading</h1>
        <? $sometekst_variable ?>
    </body>
</html>

我想要的是在我的php函数中打开文件并让函数在文件中运行php。 php变量将在读取文件的函数内设置。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:3)

使用include。在您的顶级文件中,执行类似

的操作
include('otherfile.php');

答案 1 :(得分:0)

你可以通过require'what_template_file'来做到这一点; 如果你想捕获该文件的html输出(例如运行它,但不将其打印到输出流),你可以(必须)使用输出缓冲区,如下所示:

<?php

function render($tpl) {
   // this way it would print out everything to the output, without a chance to grab that
   require $tpl; 
   // OR do it like this:
   ob_start();
   require $tpl;
   $parsed_result = ob_get_contents();
   // now you can print out the result or do something else with it...
   echo $parsed_result;
   // or return it
   return $parsed_result;
}

render('template.ext.php'); // note, it doesn't have to be .php... it can be anything

另请注意,您可以嵌套对ob_start的调用,以便嵌套渲染函数。

像这样:

的index.php: <?php render('template.inc.php'); ?>

template.inc.php: <div><?php render('header.inc.php'); ?></div>

等等。