簡體   English   中英

PHP:打印HTML友好代碼?

[英]PHP: Printing HTML-Friendly Code?

我想知道是否有任何技術可以使從PHP函數打印HTML(多行)時的HTML代碼看起來不錯?

特別是新的行和制表符。 顯然,我希望幕后的HTML標簽在適當的新行和標簽下看起來不錯。 但是,根據我何時調用打印HTML的PHP​​函數,我可能需要在1、2、3、4等處啟動選項卡。我不需要將啟動選項卡數傳遞給PHP打印HTML的函數。

那么,有誰知道用PHP打印HTML友好代碼的通用方法嗎? 還是有我遺漏的設計原則,即“不要從PHP函數中打印多行HTML”。 ...

謝謝,

史蒂夫

我不會打擾的。 有了諸如Firebug之類的DOM檢查工具,就可以浪費時間在為計算機閱讀而設計的外觀上。 也請參閱此問題以獲取其他人對此事的看法。

標記清理

有一些很棒的代碼工具可以清理(即調整間距)和修復(即關閉打開的標簽)。

Tidy是較流行的html清理/修復工具之一。 您可以使用php的輸出緩沖區通過Tidy即時解析腳本的輸出。

Zend公司開發園區簡介- http://devzone.zend.com/article/761 PHP手冊中整理文檔- http://www.php.net/manual/en/book.tidy.php

現在,這是一個簡單的例子,是的!

<?php
ob_start();

echo '<div><b> messy</b> <div> <i>blarg</I></div>';
echo '  <div>code rawr!</div>';

$output = ob_get_clean();

$tidy = tidy_parse_string($output);
tidy_clean_repair($tidy);
echo $tidy;
?>

模板系統

您應該使用模板系統來分離應用程序的邏輯部分(php代碼)和表示部分(html / markup / etc)。

使用這種做法有很多優點,其中包括使代碼更易於維護和調試。

這是一個巨大的討論主題,幾乎總是涉及到框架和MVC。 有成千上萬的資源,這里有一些:P

用PHP編寫模板系統-http : //www.codewalkers.com/c/a/Display-Tutorials/Writing-a-Template-System-in-PHP/
Web應用程序中業務邏輯與表示邏輯的分離-http : //www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=21

如果要生成有效的xhtml,則可以緩沖輸出 ,最后,執行以下操作:

$dom = new DomDocument (('1.0', 'utf-8');
$dom->loadHtml (ob_get_clean ());
$dom->formatOutput = true; 
echo $dom->saveXML ();

如果您使用的是框架,則可以將其用作插件或過濾器。 這樣,如果您將模板嵌入其他模板或使用幫助程序的輸出,它也可以工作

使用模板系統生成HTML並保持模板井然有序是一種簡單的方法

您不應該使用php打印html。 在模板內部使用php的速記語法。

<h1><?= $page_title ?></h1>
<p><?= page_content ?></p>

代替

<?php

echo "<h1>" . $page_title . "</h1>";
echo "<p>" . $page_content . "</p>";

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM