作者 赵彬吉

update

... ... @@ -590,11 +590,8 @@ class UpdateSeoTdk extends Command
// 前后缀如果已经存在, 就不在拼接当前类型
if (FALSE !== strpos($topic, $keyword))
return $str;
//处理单词复数 s es ies ves
$keyword = rtrim($keyword, 'ves');
$keyword = rtrim($keyword, 'ies');
$keyword = rtrim($keyword, 'es');
$keyword = rtrim($keyword, 's');
//复数转单数
$keyword = Str::singular($keyword);
$topic_words = explode(" ", $topic);
if($type == 'prefix' && Str::startsWith($topic_words[0], $keyword)){
... ... @@ -605,21 +602,27 @@ class UpdateSeoTdk extends Command
}
}
}
//随机取
//随机取 并单复数去重
shuffle($fix_keyword);
if (count($fix_keyword) < $num)
return implode(", ", $fix_keyword);
$keyword = array_slice($fix_keyword, 0, $num);
$str = implode(", ", $keyword);
// 前后缀内部去重
foreach ($keyword as $k=>$v){
$tmp = rtrim($v, 's');
if (substr_count($str, $tmp) > 1) {
unset($keyword[$k]);
$str = implode(", ", $keyword);
$keywords = [];
foreach ($fix_keyword as $v){
if($num == 0){
break;
}
$is_repeat = false;
foreach ($keywords as $keyword){
if(Str::singular($keyword) == Str::singular($v)){
$is_repeat = true;
break;
}
}
if($is_repeat){
continue;
}
$keywords[] = $v;
$num--;
}
$str = implode(', ', $keywords);
}
return $str;
}
... ...