function clean($str)
{
$str=strip_tags($str);
//去除特殊符号+*`/-$#^~!@#$%&[]'";:空格、换行符、制表符
$str=preg_replace("/\+|\*|\`|\/|\-|\$|\#|\^|\!|\@|\%|\&|\~|\^|\[|\]|\'|\"|\=|\:|\;|\?|\s/", "", $str);
return $str;
}这是我的一个字符串过滤函数,我有了一个for循环测了一下效率,实测数据:
10000000:354s
1000000:35s
100000:4s
10000:1s请问可以再提高他的效率吗?

解决方案 »

  1.   

    10000000这个是循环次数么?再极端也不需要这么多啊。可重新考虑算法。比如在web页面就开始用js过滤,那么服务器上就只需要象征性地检测一下了,这样会让服务器的负担尽可能地减少。
      

  2.   

    用apache的bin目录下的一个叫ab的文件,它可以制造多线程模拟并发。正则解析器的算法是人家封装好的。真想纠结这方面效率就自己研究模式匹配,自己写算法。