如何在php变量中包含php include语句?

时间:2013-10-01 12:11:36

标签: php html

我有一个包含html结构的变量,如下所示:

$txt = '<table>
           <tr>
               <td>
              </td>
           </tr>
       </table>';

我想在变量中写下以下语句:

include_once('./folder/file.php');

我尝试按照以下方式编写它但失败了:

$txt = '<table>
               <tr>
                   <td>';
                   include_once('./folder/file.php');
                  $txt.='</td>
               </tr>
           </table>';

我试着这样做也行不通:

$txt = '<table>
                   <tr>
                       <td>
                       {include_once('./folder/file.php');}
                     </td>
                   </tr>
               </table>';

我该怎么做?我很抱歉不是很专业的混合php和html所以一个小帮助将不胜感激?

3 个答案:

答案 0 :(得分:7)

使用输出缓冲区功能:

ob_start();
include('./folder/file.php');
$include = ob_get_clean();

$txt = '<table>
           <tr>
               <td>' . $include . '</td>
           </tr>
       </table>';

请参阅http://php.net/ob

输出缓冲区会收集您发送到浏览器的所有内容,直到您清空,删除或结束它为止。

http://www.php.net/manual/en/function.ob-get-clean.php

答案 1 :(得分:0)

你必须按照以下方式进行,我相信它是连接呼叫:

$table_content = include_once('./folder/file.php');
$txt = '<table>
               <tr>
                   <td>
                         ' . $table_content . '
                   </td>
               </tr>
         </table>';

...或

$txt = '<table>
               <tr>
                   <td>
                         ' . include_once('./folder/file.php') . '
                   </td>
               </tr>
         </table>';

简单地说,当我需要回复一些文本后跟变量时,按照以下方式执行:

$color = brown
$state = lazy

echo "The quick" . $color . "fox jumped over the" . $state . "dog";

这将得到以下结果:

The quick brown fox jumped over the lazy dog

有关详细信息,请参阅:Concatenate Strings

答案 2 :(得分:0)

试试这个

$txt = '<table>
           <tr>
               <td>';
$txt.=include_once('./folder/file.php');
$txt.='</td>
           </tr>
       </table>';
print_r($txt);