好的,这可能听起来有点疯狂,但请耐心听我说一分钟。
我正在开发一个网站,在该网站中使用SSI包含页面头部、底部和菜单是标准做法。包含文件使用SSI条件处理不同的浏览器,一些#include嵌套以及一些#set / #if技巧来突出显示菜单中的当前页面。换句话说,SSI中不仅仅是#include指令。
我相信有些人会对美学提出异议,但对于静态HTML,它实际上工作得非常好。
现在,问题来了:我想从我的PHP脚本中“#include”相同的SSI解析的头部和底部html文件,从而避免代码重复并仍然保持网站的统一外观。如果PHP在通常的mod_php环境中运行,我将能够通过使用PHP的virtual()函数来实现。不幸的是,该网站使用FastCGI/suexec来运行PHP(以便每个虚拟主机可以作为不同的用户运行),这会破坏virtual()。
我一直在使用我编写的一个相当简单的PHP SSI解析器(它处理#include和一些非常简单的#if语句),但我想要更通用的解决方案。因此,在我疯狂编写一些可能有缺陷的更完整的SSI解析器之前,是否有人知道用PHP编写的完整的SSI解析器?当然,我也愿意接受其他在我概述的限制下工作的解决方案。
非常感谢您的时间。