我有以下的compress()函数:
function compress($input){
$from = array("\r\n", "\n");
$to = array('', '');
$output = str_replace($from, $to, $input);
while(true){
$output = str_replace(" ", " ", $output);
if (strpos($output, " ") === FALSE){
break;
}
}
return $output;
}我使用它来压缩输出的HTML代码,使其不包含任何换行符,也不包含超过2个后续空格。
我想知道,如果使用regex替换,这是否会更快、更优化。然而,即使它会,我也不确定该怎么做。
有什么想法吗?
发布于 2013-04-26 05:23:47
这样如何:
return preg_replace(
'# {2,}#',
' ',
preg_replace(
'#\r?\n#s',
'',
$input
)
);我相信这将完成您的建议,仅此而已。至于它是更快还是更高效,你必须运行一些测试,我不能马上说。preg_replace通常相对较贵。我在这里调用了两次,所以有相当多的开销。但这是一个使用p_r实现的示例。
https://stackoverflow.com/questions/16224876
复制相似问题