好的,這可能聽起來有點瘋狂,但在這裏忍受一分鐘。用PHP編寫的SSI解析器?
我正在使用SSI包含頁眉,頁腳和菜單的標準網站上工作。包含的文件使用SSI條件來處理不同的瀏覽器,一些#include嵌套和一些#set/#if技巧來突出顯示菜單中的當前頁面。換句話說,它不僅僅是SSI中的#include指令。
我敢肯定,有些人可能會與美學爭論,但實際上它對靜態HTML非常適用。
現在,問題在於:我想從我的PHP腳本中「#include」相同的SSI解析的頁眉和頁腳html文件,從而避免了代碼重複,並且仍然保持站點的統一外觀。如果PHP運行在通常的mod_php環境中,那麼我可以通過使用PHP的virtual()函數來完成這一點。不幸的是,該網站使用FastCGI/suexec來運行PHP(這樣每個VirtualHost都可以作爲一個不同的用戶運行),並且這會打破virtual()。我一直在用PHP編寫的一個相當簡單的SSI解析器(它處理#includes和一些非常簡單的#if語句),但我想要一個更通用的解決方案。所以,在我堅持和寫一些可能錯誤的,更完整的SSI解析器之前,有誰知道用PHP編寫的完整的SSI解析器?當然,我也對其他解決方案開放,這些解決方案在我所概述的限制條件下工作。
非常感謝您的時間。
我不會用「`#include`嵌套和`#set` /`#if` trickery」* static * HTML來調用SSI包含的文件。 ;)否則,有趣的問題。 :D – deceze 2011-02-10 02:19:17
我知道的唯一實現是http://nanoweb.si.kz/manual/mod_include.html - 但它只是實現了三個標準函數,並不構成很多解析器。 – mario 2011-02-10 02:34:01