0

我的目标是在服务器上自动创建一个包含以下 html/php 的文件,它确实会这样做,但是它也包括 php 包含,因此在构建页面时它也包含包含中的所有内容。

我希望include("../includes/right.html");在生成的页面中独处,但我希望解析其他 php 变量。

<?php
// Start the buffering //
ob_start();
?>

<?php echo $name; ?>

test text line one

<?php include("../includes/right.html"); ?>

test text line two

<?php
// Putting content buffer into file //
file_put_contents('mypage.html', ob_get_contents());
?>
4

2 回答 2

0

您需要将该行作为 HTML 转义,因此它不会通过 PHP 解析器,例如

<?php
// Start the buffering //
ob_start();
?>

<?php echo $name; ?>

test text line one

&lt;?php include(&quot;../includes/right.html&quot;); ?&gt;

test text line two

<?php
// Putting content buffer into file //
file_put_contents('mypage.html', ob_get_contents());
?>
于 2013-04-08T16:30:17.530 回答
0

这直接来自http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc上的 PHP 手册 这称为 nowdoc 语法,随 PHP 5.3 提供。这通常是此类事情的最佳实践。

echo <<<'EOT'
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41
EOT;

'EOT' 和 EOT 之间的任何内容;将在页面上呈现为文本,无需进行任何解析。

于 2013-04-08T16:33:31.820 回答