PHP-缩进的html块 [英] PHP - indent block of html
问题描述
假设我有以下代码:
<?php
echo "<div id=\"root\">";
echo "<div id=\"child_of_root\">";
echo "<img src=\"picture1.png\">";
echo "<img src=\"picture2.png\">";
echo "<img src=\"picture3.png\">";
echo "<img src=\"picture4.png\">";
echo "<img src=\"picture5.png\">";
echo "</div>";
echo "</div>";
?>
如果我执行此操作,则以下HTML将全部内联呈现而没有换行符:
If I ran this the following HTML would be rendered all inline without any line breaks:
<div id="root"><div id="child_of_root"><img src="picture1.png"><img src="picture2.png"><img src="picture3.png"><img src="picture4.png"><img src="picture5.png"></div></div>
如果我运行了以下代码:
If I ran the following code:
<?php
echo "<div id=\"root\">\n";
echo "\t"."<div id=\"child_of_root\">\n";
echo "\t\t"."<img src=\"picture1.png\">"."\n";
echo "\t\t"."<img src=\"picture2.png\">"."\n";
echo "\t\t"."<img src=\"picture3.png\">"."\n";
echo "\t\t"."<img src=\"picture4.png\">"."\n";
echo "\t\t"."<img src=\"picture5.png\">"."\n";
echo "\t"."</div>"."\n";
echo "</div>";
?>
它缠绕了以下漂亮的HTML:
It wound render the following beautiful HTML:
<div id="root">
<div id="child_of_root">
<img src="picture1.png">
<img src="picture2.png">
<img src="picture3.png">
<img src="picture4.png">
<img src="picture5.png">
</div>
</div>
有没有一种方法可以实现这些漂亮的缩进,而不必在要缩进的每一行之前放置\t
.我的意思是说我可以缩进一个块而不是一行.
Is there a way I could achieve these beautiful indents without having to put \t
before every line I want to indent. I mean so that I can indent a block instead of one line.
推荐答案
一方面,它是HTML标记,因此无论其格式如何,浏览器都将其呈现出来.使用Firebug之类的工具可以为您提供一种在网页中导航HTML的更好方法.
For one thing, it's HTML markup, so it doesn't matter how it's formatted, the browser renders it all the same. Using a tool like Firebug can give you a much better way of navigating HTML in your web-pages.
另一方面,您不必持续使用echo
命令来输出HTML. PHP本身或多或少是一种模板语言,因此您可以退出PHP,以自己的格式输出HTML,然后重新输入PHP.
On another note, you don't have to continually use echo
commands to output HTML. PHP is more-or-less a templating language in itself, so you could just exit PHP, output your HTML in your own format, and then re-enter PHP.
例如:
<?php // ... your code before this ... ?>
<div id="root">
<div id="child_of_root">
<img src="picture1.png">
<img src="picture2.png">
<img src="picture3.png">
<img src="picture4.png">
<img src="picture5.png">
</div>
</div>
<?php // ... your code after this ... ?>
如果您的输出需要某种程度的动态性,则可以始终使用PHP添加循环和其他功能.
If your output needs some level of dynamism to it, you can always use PHP to add in loops and whatnot.
<?php // ... your code before this ... ?>
<div id="root">
<div id="child_of_root">
<?php for ($x = 1; $x <= 5; $x++): ?>
<img src="picture<?php echo $x; ?>.png">
<?php endfor; ?>
</div>
</div>
<?php // ... your code after this ... ?>
如果您仍然需要格式化的HTML(例如用于显示代码示例之类的东西),则必须手动使用\n
和\t
继续操作,或者可以签出PHP Tidy 扩展名,用于对HTML进行格式化.
If you still need formatted HTML, maybe for displaying code samples or something, you'll either have to continue manually using \n
and \t
, or you could check out the PHP Tidy extension, which is built for formatting HTML.
这篇关于PHP-缩进的html块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!