From c3c3a600885f7c586cce4548b097d9caf8b1cfa1 Mon Sep 17 00:00:00 2001 From: adonis Date: Sun, 16 Aug 2026 20:58:56 +0330 Subject: [PATCH] added table of co-woeker requests and new features 4 --- .../Controllers/Admin/MassageController.php | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/Admin/MassageController.php b/app/Http/Controllers/Admin/MassageController.php index 88e6b7e..22be621 100644 --- a/app/Http/Controllers/Admin/MassageController.php +++ b/app/Http/Controllers/Admin/MassageController.php @@ -325,24 +325,18 @@ class MassageController extends Controller } /** - * جایگزینی توکن نام مشتری با واریانت‌های فارسی/انگلیسی و فاصله اختیاری. + * جایگزینی توکن نام مشتری با واریانت‌های فارسی/انگلیسی. + * فاصلهٔ بعد از توکن خورده نمی‌شود (باگ «تستسلام»). * مثال: %name ، %name% ، ٪نام ، % نام ، ٪ نام */ private function applyCustomerNamePlaceholders(string $message, string $customerName): string { - $patterns = [ - '/[%٪]\s*name\s*[%٪]?/iu', - '/[%٪]\s*نام\s*[%٪]?/u', - ]; + // فقط فاصلهٔ بین % و کلمهٔ name/نام مجاز است؛ فاصلهٔ بعد از توکن حفظ می‌شود + $pattern = '/[%٪]\s*(?:name|نام)[%٪]?/iu'; - foreach ($patterns as $pattern) { - $replaced = preg_replace($pattern, $customerName, $message); - if (is_string($replaced)) { - $message = $replaced; - } - } + $replaced = preg_replace($pattern, $customerName, $message); - return $message; + return is_string($replaced) ? $replaced : $message; } /** خط آخر پیام باید نام اپ باشد؛ اگر نبود اضافه می‌شود. */