我将大量文本传递给PHP函数并让它返回压缩。该文正被切断。并非所有这些都被传回去了。就像最后一些单词在压缩后没有出现一样。 PHP是否限制了这个地方?
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;
}
是功能吗?来自http://www.antedes.com/blog/webdevelopment/three-ways-to-compress-css-files-using-php
是否有像php.ini中的设置来修复此问题?
答案 0 :(得分:1)
你的compress()
函数对于CSS文件看起来不错,而不是JS。这就是我用来“压缩”CSS(包括jquery-ui和其他怪物):
function compress_css($string)
{
$string = preg_replace('~/\*[^*]*\*+([^/][^*]*\*+)*/~', '', $string);
$string = preg_replace('~\s+~', ' ', $string);
$string = preg_replace('~ *+([{}+>:;,]) *~', '$1', trim($string));
$string = str_replace(';}', '}', $string);
$string = preg_replace('~[^{}]++\{\}~', '', $string);
return $string;
}
并且对于JavaScript文件这个:https://github.com/mishoo/UglifyJS2(或者这个:http://lisperator.net/uglifyjs/#demo)
我确信还有其他好的工具可以完成相同的任务,只需找到适合你的东西并使用它。