目前我正在尝试遍历一个目录,抓取所有14个文件名并使用文件名生成一些html。我遇到了一些在PHP中创建HTML元素的问题,现在我只是尝试生成一个HTML div
,其中包含一个图像,一行文本在14次以下。
我尝试在HTML元素之前和之后放置空php
标记,但由于PHP不允许其他php
元素中的php
元素,因此无效。
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
<?php
?>
<div class="cell-1-9">
<img src="images/image.jpg">
<p>Dylan Miller</p>
</div>
<?php
?>
}
?>
我需要另一种在PHP中生成HTML元素的方法。
答案 0 :(得分:3)
您只需关闭<?php
标记即可恢复为html:
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
?>
<div class="cell-1-9">
<img src="<?php echo $file ?>">
<p>Dylan Miller</p>
</div>
<?php
}
?>
答案 1 :(得分:2)
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
?>
<div class="cell-1-9">
<img src="images/image.jpg">
<p>Dylan Miller</p>
</div>
<?php
}
?>
答案 2 :(得分:1)
如我的MVC项目PHP-One中的示例所示,您可以使用所谓的HEREDOC语法执行此类操作:
<?php
foreach($Model as $movie)
{
echo <<<HTML
<li class="list-group-item">
<strong>{$movie->Title}</strong> ({$movie->Rating}) - {$movie->ReleaseDate}
</li>
HTML;
}
?>
根据您的代码进行调整,请尝试以下内容:
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
echo <<<HTML
<div class="cell-1-9">
<img src="{$file}">
<p>{$file}</p>
</div>
HTML;
}
?>
参考。 https://github.com/DominicArchual/Php-One#define-your-view
脚注:学习MVC将使您成为更好的开发人员;也更有价值。
答案 3 :(得分:1)
尝试HEREDOC语法。 我正在粘贴user1477388的更正代码:结束HTML;不得缩进。
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
echo <<<HTML
<div class="cell-1-9">
<img src="{$file}">
<p>{$file}</p>
</div>
HTML;
}
?>