<?php
$start = microtime ( true );
function convert($size)
{
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).$unit[$i];
}
function strtr_words($str)
{
$words=array();
$content = file_get_contents('t.txt');
$content = preg_split('/\r\n/', $content, -1, PREG_SPLIT_NO_EMPTY); //分割字符串为数组
foreach($content as $key => $value)
{
//if ($key != '')
if (!empty($key))
{
$str_data = explode(',', $value); //分割同义词为k-v数组
$str = str_replace($str_data[0], $str_data[1] , $str);
//$words+=array("$str_data[0]"=>"$str_data[1]");
}
}
return $str;
//return strtr($str,$words);
}
echo strtr_words('村庄,一眼望不到边际')."\n";
echo convert(memory_get_usage(true))."\n";
$end = microtime ( true );
echo "脚本执行时间".($end - $start)."\n";
?>
14.12.22更新:
此方法词库太大时效率很差,可以将词库以key->vale方式加载到内存,文章分词遍历再替换。