作者 李宇航

合并分支 'master-lyh-edit' 到 'master'

gx



查看合并请求 !606
... ... @@ -2,6 +2,7 @@
namespace App\Console\Commands\Project;
use App\Helper\Translate;
use App\Models\Com\NoticeLog;
use App\Models\Product\Keyword;
use App\Models\RouteMap\RouteMap;
... ... @@ -80,6 +81,9 @@ class InitKeyword extends Command
foreach ($keyword as $val) {
$this->output(' keywordID: ' . $val->id . ', title: ' . $val->title);
try {
if(contains_russian($val['title'])){
$val['title'] = Translate::tran($val['title'], 'en');
}
$route = RouteMap::setRoute($val['title'],RouteMap::SOURCE_PRODUCT_KEYWORD, $val->id, $notice['data']['project_id']);
$val->route = $route;
$val->save();
... ...
... ... @@ -145,6 +145,19 @@ if (!function_exists('curl_get')) {
return $is_array ? json_decode($content, true) : $content;
}
}
/**
* @remark :判断是否为俄语
* @name :contains_russian
* @author :lyh
* @method :post
* @time :2024/6/5 10:38
*/
function contains_russian($text) {
// 正则表达式匹配俄语字符
$pattern = '/[А-Яа-яЁё]/u';
// 使用 preg_match 检查字符串是否匹配正则表达式
return preg_match($pattern, $text);
}
if (!function_exists('curl_c')) {
/**
... ...
... ... @@ -55,10 +55,11 @@ class RouteMap extends Base
public static function generateRoute($title, $source, $source_id, $project_id){
if(preg_match('/[\x{4e00}-\x{9fa5}]/u', $title)){
$title = Translate::tran($title, 'en');
}elseif(preg_match('/^[\x{0400}-\x{04FF}]+$/u', $title)){
$title = Translate::tran($title, 'en');
}else{
if(contains_russian($title)){
$title = Translate::tran($title, 'en');
}
}
$i=1;
$sign = generateRoute($title);
$length = strlen($sign);
... ...