模板丟失格式格式化模板Smarty的處理後
(源的n ++)前:
<!DOCTYPE html>
<html lang='ru'>
<head>
後(來源瀏覽器):
<!DOCTYPE html><html lang='ru'><head>
,我不知道如何解決它。幫幫我!
模板丟失格式格式化模板Smarty的處理後
(源的n ++)前:
<!DOCTYPE html>
<html lang='ru'>
<head>
後(來源瀏覽器):
<!DOCTYPE html><html lang='ru'><head>
,我不知道如何解決它。幫幫我!
格式對HTML解析器不重要。無論是否包含空白,瀏覽器都將顯示相同的輸出。
但它真的很重要,那麼你確實有幾個選擇。
第一個是安裝PHP的Tidy擴展(http://php.net/manual/en/book.tidy.php)。然後,您可以將Smarty的輸出捕獲到一個字符串中,並通過整潔函數傳遞它以獲取格式化的HTML字符串。
第二種是使用外部命令行工具,如htmltidy。你可以將你的輸出捕獲到一個字符串並通過exec()將它傳遞給命令行實用程序。
但說實話,我並不認爲所付出的努力真的值得,就像我說的那樣,HTML解析器對空白不感興趣。
以前,一切都很好...... – d3head 2011-12-25 10:49:54
正如@GordonM所解釋的,在處理瀏覽器時,「源格式化」是不必要的。它可能對人類有幫助,但就是這樣。 a)使用(Firefox | Chrome | Safari)的開發者控制檯,將爲您提供一個互動的,結構良好的DOM視圖。忽視任何可能存在或不存在的空白。這些是我們想要使用的工具。 b)Smarty帶有一個名爲trimwhitespace的輸出過濾器。如果您應用該過濾器,則會刪除所有不必要的空格和註釋。這樣做是爲了減少必須傳輸到瀏覽器的文本的大小。您希望儘可能少地發送更好的性能。我們稱之爲「縮小」。您可能在Javascript和CSS世界聽說過它。
C)你的示例代碼顯示換行和空格,之後我運行它通過Smarty的3.1
您是否使用HTML5肯定?因爲您在此提供的'!DOCTYPE'是HTML5的DTD,所以如果您使用任何其他版本的HTML,請嘗試放入適當的HTML DTD,因爲錯誤的DTD會以不尋常的方式呈現您的模板。 – ikartik90 2011-12-25 05:55:51
並善意闡述你的問題。如果需要答案,它需要詳細信息。 – ikartik90 2011-12-25 05:56:28
你不明白。在Smarty中處理模板之後,完全丟失了代碼格式(填充,製表符等)。對不起,我的英語:> – d3head 2011-12-25 06:02:04