This commit is contained in:
make
2026-01-09 01:28:23 +08:00
parent eb8c097777
commit 90fc16fbc3
241 changed files with 26518 additions and 3570 deletions

View File

@@ -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;
}
}