在this discusson中找到了一个很好的程序,它将CSS文件合并为一个,以加快和加速CSS加载。它工作并将我的所有css文件放入一个小堆中,但页面显示为文本(网页成为css文件,apache认为)可能出错?
我做了什么:我将以下脚本保存为php文件并将其包含在我的页面中,并将URL更改为带有他们的css文件。 css加载正常,但WEBPAGE显示为浏览器中的纯文本!虽然所有的CSS都在那里,其余的PHP也生成了项目,但只有它应该加载的浏览器是纯文本,而不是HTML网站...任何线索?
<?php
header('Content-type: text/css');
ob_start("compress");
function compress($buffer) {
/* remove comments */
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
/* remove tabs, spaces, newlines, etc. */
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
/* your css files */
include('master.css');
include('typography.css');
include('grid.css');
include('print.css');
include('handheld.css');
ob_end_flush();
?>
此外,一旦工作,可以在以后进行改进甚至提高其力量:
"; }"
&gt; "}"
(2个字符)
"{ "
&gt; "{"
(1个字符)
" {"
&gt; "{"
(1char)
" :"
&gt; ":"
(1个字符)
": "
&gt; ":"
(1个字符)
" ,"
&gt; ","
(1个字符)
", "
&gt; ","
(1个字符)
" ("
&gt; "("
(1个字符)
"( "
&gt; "("
(1个字符)
" )"
&gt; ")"
(1个字符)
") "
&gt; ")"
(1个字符)
答案 0 :(得分:3)
你是如何包含该片段的?
猜测一下,我想这应该是它自己的文件,并通过<link rel="stylesheet" type="text/css" href="./css.php" />
或类似文件包含在内。如果你直接粘贴到index.php中,你将它的输出的MIME类型设置为text / css(通过header()
),因此是纯文本。