Web*_*ner 5 php syntax indentation line-breaks
假设我有以下代码:
<?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>";
?>
Run Code Online (Sandbox Code Playgroud)
如果我运行这个,下面的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>
Run Code Online (Sandbox Code Playgroud)
如果我运行以下代码:
<?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>";
?>
Run Code Online (Sandbox Code Playgroud)
它创造了以下漂亮的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>
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以实现这些美丽的缩进,而不必放在\t
我想要缩进的每一行之前.我是说我可以缩进一个块而不是一行.
Dom*_*nes 11
首先,它是HTML标记,所以它的格式无关紧要,浏览器渲染它都是一样的.使用像Firebug这样的工具可以为您提供更好的方法来浏览网页中的HTML.
另一方面,您不必持续使用echo
命令来输出HTML.PHP本身或多或少是一种模板语言,因此您可以退出PHP,以您自己的格式输出HTML,然后重新输入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 ... ?>
Run Code Online (Sandbox Code Playgroud)
如果你的输出需要一定程度的动态,你总是可以使用PHP来添加循环和诸如此类的东西.
<?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 ... ?>
Run Code Online (Sandbox Code Playgroud)
如果您仍然需要格式化HTML,可能用于显示代码示例或其他内容,您可能需要继续手动使用\n
和\t
,或者您可以查看PHP Tidy扩展,它是为格式化HTML而构建的.
首先使用:
echo '<img src="picture1.png">';
Run Code Online (Sandbox Code Playgroud)
代替
echo "<img src=\"picture1.png\">";
Run Code Online (Sandbox Code Playgroud)
代码更清晰.
如果要在PHP中返回HTML代码,则没有其他方法可以进行缩进.
但是,为什么要在PHP中打印HTML代码?你不能在这里退出PHP块吗?
<?php
// do something and exit PHP block
?>
<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
// do again something in PHP
?>
Run Code Online (Sandbox Code Playgroud)