0

我正在使用 PHP 通过查询传递使我的页面更加动态,但是我有一大块 HTML 代码需要在内部包含动态内容,但我不知道如何在不打印每个语句的情况下执行此操作:

HTML中的一部分:

<div class="review">
<p>
<img src="http://www.cs.aub.edu.lb/hsafa/cmps278/hw2/rotten.gif" alt="Rotten" />
<q>Expect no intelligence or subtlety here, but if you're willing to put up with the        sheer ridiculousness of it all, you might enjoy wallowing in Bekmambetov's shameless   exhibition of narrative lunacy and technical fireworks in this movie.</q>
</p>
</div>
<div class="personal">
<p>
<img src="http://www.cs.aub.edu.lb/hsafa/cmps278/hw2/critic.gif" alt="Critic" />
Frank Swietek <br />
<span class="italic">One Guy's Opinion</span>
</p>
</div>

上面的代码是针对单个评论的,但是我可能已经计算了任意数量的评论,但我也在更改所有评论的图像、引号和文本。有没有办法在不打印所有标签的情况下包含所有标签?

4

4 回答 4

1

常规方法是“关闭 php 标签”,然后在 HTML 之后重新打开它:

// php code here 
?><html code goes here><?php
// php code here

但是,还有其他几种方法。一种是使用包含。

// php code here
include('template.file.php');
// php code here

在你的 html 代码中,你使用的是这样的:

<htmltag><?= $php_value ?></htmltag>

您甚至可以在函数中使用 include。

或者,您可以使用像 Handlebars、Mustache 或 Twig 这样的模板系统。或者你可以继续构建大字符串,这就是我所做的。我设置模板,将它们与数据合并以生成字符串,然后发出字符串。我从使用模板系统中获得的主要好处是,我可以保存字符串以在最后发出它们,因此,能够在发送输出之前更改 HTTP 标头。如果我使用了 include() 或代码块,代码会立即发出,并且我无法修改 HTTP 标头值。

此外,通过构建字符串,我可以将它们保存到文件中并使用这些预先计算的块来提高站点的速度。

于 2013-06-16T23:39:31.617 回答
0
<?php
//PHP code section
$wolrd = 'world';
?>
We are back in HTML
Hello <?= $world /* and some PHP echoing with a 'short tag' on same line with HTML*/ ?>

推荐阅读:

于 2013-03-01T16:47:38.830 回答
0

您应该只使用 PHP 来打印您的动态内容

<img src="<?php echo $image_url; ?>" alt="<?php echo $image_alt; ?>" />

于 2013-03-01T16:47:47.907 回答
0

您可以随时关闭 PHP 并重新启动它

<?php
$string = "hi";
?>
<p>Lot's of HTML</p>
<?php
echo $string;
?>
于 2013-03-01T16:47:51.683 回答