gpt
This commit is contained in:
@@ -47,8 +47,8 @@ class ConverterMovel
|
||||
'{strVideoDescription}' => '',
|
||||
'{intVideoPlaySort}' => '1',
|
||||
'{intPlayIndex}' => '1',
|
||||
|
||||
|
||||
|
||||
|
||||
];
|
||||
|
||||
static public $arrDescription = [
|
||||
@@ -137,7 +137,40 @@ class ConverterMovel
|
||||
static public function convert(string $strSubject): string
|
||||
{
|
||||
$strSubject = str_replace(array_keys(self::$arrMap), array_values(self::$arrMap), $strSubject);
|
||||
|
||||
return str_replace(array_keys(self::$arrMap), array_values(self::$arrMap), $strSubject);
|
||||
|
||||
$strSubject = str_replace(array_keys(self::$arrMap), array_values(self::$arrMap), $strSubject);
|
||||
|
||||
return self::sanitizeMetaString($strSubject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理 meta 类字符串:
|
||||
* - 去掉换行 / 制表
|
||||
* - 收敛连续分隔符(,, ,, ||)
|
||||
* - 去掉分隔符两侧多余空格
|
||||
* - 清理首尾分隔符
|
||||
*/
|
||||
static private function sanitizeMetaString(string $strSubject): string
|
||||
{
|
||||
// 1) 去掉换行与不可见空白(避免 meta content 出现折行)
|
||||
$strSubject = str_replace(["\r\n", "\n", "\r", "\t"], ' ', $strSubject);
|
||||
|
||||
// 2) 收敛多空格
|
||||
$strSubject = preg_replace('/\s{2,}/u', ' ', $strSubject) ?? $strSubject;
|
||||
|
||||
// 3) 清理分隔符两侧空格(只处理常见分隔符:英文逗号/中文逗号/竖线)
|
||||
$strSubject = preg_replace('/\s*([,,|])\s*/u', '$1', $strSubject) ?? $strSubject;
|
||||
|
||||
// 4) 收敛连续分隔符:",," ",," "||" 以及 ",,," 这种
|
||||
$strSubject = preg_replace('/([,,|])(?:\1)+/u', '$1', $strSubject) ?? $strSubject;
|
||||
|
||||
// 5) 处理类似 ",,"(中间夹空格)的情况:", ,"
|
||||
$strSubject = preg_replace('/([,,|])(?:\s*\1)+/u', '$1', $strSubject) ?? $strSubject;
|
||||
|
||||
// 6) 去掉首尾分隔符与多余空格
|
||||
$strSubject = trim($strSubject);
|
||||
$strSubject = trim($strSubject, ",,| ");
|
||||
|
||||
return $strSubject;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user