From e1e2fe5710a5b5cd9c19bd3aa99c998a1a613ca8 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Sat, 17 Jan 2026 17:58:01 +0800
Subject: [PATCH] 团购组件增加筛选
---
admin/app/api/model/branch/Activity.php | 46 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 45 insertions(+), 1 deletions(-)
diff --git a/admin/app/api/model/branch/Activity.php b/admin/app/api/model/branch/Activity.php
index d2d5afc..b5f9ed9 100644
--- a/admin/app/api/model/branch/Activity.php
+++ b/admin/app/api/model/branch/Activity.php
@@ -26,7 +26,8 @@
*/
public function getActivityContentAttr($value)
{
- return htmlspecialchars_decode($value);
+ $value = htmlspecialchars_decode($value);
+ return html_entity_decode($value, ENT_QUOTES, 'UTF-8');
}
/**
@@ -118,6 +119,8 @@
//报名时间
$data['register_start_time'] = strtotime($data['register_start_time']);
$data['register_end_time'] = strtotime($data['register_end_time']);
+ // 处理emoji表情符号
+ $data = $this->filterEmoji($data);
return $this->save($data);
}
@@ -132,6 +135,8 @@
//报名时间
$data['register_start_time'] = strtotime($data['register_start_time']);
$data['register_end_time'] = strtotime($data['register_end_time']);
+ // 处理emoji表情符号
+ $data = $this->filterEmoji($data);
return $this->save($data);
}
@@ -153,4 +158,43 @@
return true;
}
+ /**
+ * 过滤emoji表情符号,转换为HTML实体
+ * @param array $data
+ * @return array
+ */
+ private function filterEmoji($data)
+ {
+ if (isset($data['content'])) {
+ $data['content'] = $this->emojiToHtml($data['content']);
+ }
+ if (isset($data['name'])) {
+ $data['name'] = $this->emojiToHtml($data['name']);
+ }
+ if (isset($data['describe'])) {
+ $data['describe'] = $this->emojiToHtml($data['describe']);
+ }
+ return $data;
+ }
+
+ /**
+ * 将emoji表情符号转换为HTML实体
+ * @param string $str
+ * @return string
+ */
+ private function emojiToHtml($str)
+ {
+ if (empty($str)) {
+ return $str;
+ }
+ $str = preg_replace_callback(
+ '/[\x{1F600}-\x{1F64F}]|[\x{1F300}-\x{1F5FF}]|[\x{1F680}-\x{1F6FF}]|[\x{2600}-\x{26FF}]|[\x{2700}-\x{27BF}]/u',
+ function ($matches) {
+ return mb_convert_encoding($matches[0], 'HTML-ENTITIES', 'UTF-8');
+ },
+ $str
+ );
+ return $str;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.2