From a19cf0e1c3cee0fbc4eeded83670d376cb9d1c69 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 18 Jul 2025 13:06:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86emoj?= =?UTF-8?q?i=E8=A1=A8=E6=83=85=E6=97=A0=E6=B3=95=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/DialogController.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 83862fe6a..cd16421d2 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -2210,7 +2210,22 @@ class DialogController extends AbstractController $msg_id = intval(Request::input("msg_id")); $symbol = Request::input("symbol"); // - if (!preg_match('/[\x{1F300}-\x{1F9FF}]|[\x{1F000}-\x{1F02F}]|[\x{1F0A0}-\x{1F0FF}]|[\x{1F100}-\x{1F64F}]|[\x{1F680}-\x{1F6FF}]|[\x{2600}-\x{26FF}]|[\x{2700}-\x{27BF}]/u', $symbol)) { + $emojiPattern = '/(?:' . + '[\x{1F600}-\x{1F64F}]|' . // 表情符号 + '[\x{1F300}-\x{1F5FF}]|' . // 符号和象形文字 + '[\x{1F680}-\x{1F6FF}]|' . // 交通和地图符号 + '[\x{1F1E0}-\x{1F1FF}]|' . // 区域指示符号(国旗) + '[\x{2600}-\x{26FF}]|' . // 杂项符号 + '[\x{2700}-\x{27BF}]|' . // 装饰符号 + '[\x{1F900}-\x{1F9FF}]|' . // 补充符号和象形文字 + '[\x{1F000}-\x{1F02F}]|' . // 麻将牌 + '[\x{1F0A0}-\x{1F0FF}]|' . // 扑克牌 + '[\x{1F100}-\x{1F64F}]|' . // 封闭字母数字补充 + '[\x{FE0F}]|' . // 变体选择器-16 + '[\x{20E3}]|' . // 组合封闭键帽 + '[\x{30}-\x{39}\x{23}\x{2A}][\x{FE0F}]?[\x{20E3}]' . // 键帽序列 (0-9, #, *) + ')/u'; + if (!preg_match($emojiPattern, $symbol)) { return Base::retError("参数错误"); } //