From 08930ba6dbf5e01f2b5469c2ef3abc693ff4592f Mon Sep 17 00:00:00 2001 From: j Date: Thu, 14 Apr 2022 14:39:02 +0800 Subject: [PATCH 1/2] Str::squish trim ZWNBSP --- src/Illuminate/Support/Str.php | 2 +- tests/Support/SupportStringableTest.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Support/Str.php b/src/Illuminate/Support/Str.php index c390f73dcc2e..5bba02b1bf02 100644 --- a/src/Illuminate/Support/Str.php +++ b/src/Illuminate/Support/Str.php @@ -889,7 +889,7 @@ public static function snake($value, $delimiter = '_') */ public static function squish($value) { - return preg_replace('~(\s|\x{3164})+~u', ' ', preg_replace('~^\s+|\s+$~u', '', $value)); + return preg_replace('~(\s|\x{3164})+~u', ' ', preg_replace('~^[\s]+|[\s]+$~u', '', $value)); } /** diff --git a/tests/Support/SupportStringableTest.php b/tests/Support/SupportStringableTest.php index fafe33c5e38f..95da0705ee28 100644 --- a/tests/Support/SupportStringableTest.php +++ b/tests/Support/SupportStringableTest.php @@ -626,6 +626,7 @@ public function testSquish() $this->assertSame('ム', (string) $this->stringable('ム')->squish()); $this->assertSame('だ', (string) $this->stringable('  だ   ')->squish()); $this->assertSame('ム', (string) $this->stringable('  ム   ')->squish()); + $this->assertSame('ム', (string) $this->stringable('  ム    ')->squish()); } public function testStart() From 00e134253842d9bcdc0a950405f70b7b43e0847b Mon Sep 17 00:00:00 2001 From: j Date: Thu, 14 Apr 2022 14:40:25 +0800 Subject: [PATCH 2/2] remove i, keep Str::squish same --- src/Illuminate/Foundation/Http/Middleware/TrimStrings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php b/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php index 1dc9f636cd09..f448c22283eb 100644 --- a/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php +++ b/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php @@ -53,7 +53,7 @@ protected function transform($key, $value) return $value; } - return is_string($value) ? preg_replace('~^[\s]+|[\s]+$~iu', '', $value) : $value; + return is_string($value) ? preg_replace('~^[\s]+|[\s]+$~u', '', $value) : $value; } /**