近日和一朋友讨论PHP关于同义词替换的SEO伪原创问题,写了如下函数,并为emlog做成插件。
function strtr_words($str)
{
$words=array();
$content = file_get_contents('words.txt');//词库
$content = str_replace( "\r", "",$content); //去掉换行符(以便兼容Linux主机)
$content = preg_split('/\n/', $content, -1, PREG_SPLIT_NO_EMPTY);//\n分割字符
foreach($content as $k=>$v)
{
if($k!=0)
{
$str_data = explode('→',$v);//关键词分割符
$words+=array("$str_data[0]"=>"$str_data[1]");
}
}
return strtr($str,$words);//返回结果
}
词库words.txt格式如下:
恳求→哀求
悲悼→哀伤
悲痛→哀思
悲伤→哀痛
顺序→挨次
受饿→挨饿
靠拢→挨近
注意,每一行一组同义词,中间用“→”分割。