[英]Php formatting output html
在ruby on Rails中,您可以選擇創建更清晰且格式良好的輸出:
<div>
<%= 3.times do -%>
<%= "Hello World" -%>
<%= end -%>
</div>
輸出將是:
<div>
Hello World
Hello World
Hello World
</div>
但是當我在php中做同樣的事情時:
<div>
<?php for ($i =0; $ < 3;$i++): ?>
<?php echo "Hello World" ?>
<?php endfor; ?>
</div>
我得到這樣的東西:
<div> Hello World
Hello World
Hello World
</div>
在php中有什么類似rubys“ - %>”的東西可以幫助我實現相同的功能嗎?
請記住,PHP是一個預處理器,所以基本上它只是將一些東西添加到您的文件中。 這意味着要在文件中實現正確的“樣式”或“清潔度”,您需要向(隨機)生成的內容添加換行符等。
例如,對於每個循環,將\\ n添加到字符串的末尾,以便將其打印在文件的新行上。 如果你想要一個標簽,你可以做\\等等
您可以使用與PHP捆綁在一起的HTMLTidy 。
但是,您應該考慮使用Tidy處理標記會降低您的網站速度。 如果必須使用Tidy,則應緩存其輸出,或僅啟用它以進行調試。
不要以為它是提供的。 就像@Antwan狀態一樣,你只需要在echo
上添加自己的換行符和標簽。 注意:不確定是否有完整的校對功能來處理這個問題,因為您的IDE也會影響您的換行符和間距。
function echonice($str) {
echo "\n\t".$str;
}
修正了代碼:(看起來很難看?)
<div>
<?php for ($i =0; $ < 3;$i++):
echo "\t\tHello World" ?>
endfor; ?>
</div>
保留<?php ?>
標簽之間的空格,也許Ruby做了一些想要過濾它的東西,PHP無論如何都沒有。
決定使用PHP打印哪個部分以及在本機HTML中需要哪個部分總是很棘手。 在任何情況下,瀏覽器都不關心空格;)
我偶爾會做類似以下的事情:
<?php
echo "<html>";
echo " <head>";
echo " </head>";
echo " <body>";
echo " <div>";
echo " $variable";
echo " </div>";
echo " </body>";
echo "</html>";
?>
所有行都在文本中縮進,因此HTML更易於閱讀。 但是,如果要在HTML中添加大量變量,這才有意義。 正如之前提到的那樣,瀏覽器不依賴縮進來顯示頁面。 您需要正確的HTML縮進的唯一時間是您希望有人使用他們的瀏覽器查看頁面源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.