diff --git a/application/api/controller/Base.php b/application/api/controller/Base.php index ef79fa7..390c8a8 100644 --- a/application/api/controller/Base.php +++ b/application/api/controller/Base.php @@ -617,10 +617,29 @@ class Base extends Controller } + // public function blueIntegerChange($string){ + // return preg_replace_callback('/\[(\d+)\]/', function($matches) { + // var_dump($matches); + // return '[' . $matches[1] . ']'; + // }, $string); + // } + public function blueIntegerChange($string){ - return preg_replace_callback('/\[(\d+)\]/', function($matches) { - return '[' . $matches[1] . ']'; - }, $string); + + $pattern = '/\[(\d+)-(\d+)\]/'; + $replacement = '[\1–\2]'; // 使用反向引用 \1 和 \2 来保持数字不变,只替换中间的短横线 + $result = preg_replace($pattern, $replacement, $string); + + $result = preg_replace_callback('/\[-?\d+(?:,|,\s*\d+)?(?:–|\s*–\s*\d+)?\]<\/blue>/', function($matches) { + // if(!empty($matches[1])){ + // return '['.$matches[1].']'; + // } + return strip_tags($matches[0]); + }, $result); + $pattern = '/\[-?\d+(?:,|,\s*\d+)?(?:–|\s*–\s*\d+)?\]/'; + $replacement = '$0'; + $result = preg_replace($pattern, $replacement, $result); + return $result; } public function getBoardsForJournal($journal_id, $aar = false)