Skip to content

Commit 4491530

Browse files
authored
Handle unicode characters on TrimStrings middleware (#40600)
1 parent 97d89f9 commit 4491530

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/Illuminate/Foundation/Http/Middleware/TrimStrings.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ protected function transform($key, $value)
5353
return $value;
5454
}
5555

56-
return is_string($value) ? trim($value, "  \t\n\r\0\x0B") : $value;
56+
return is_string($value) ? preg_replace('~^\s+|\s+$~iu', '', $value) : $value;
5757
}
5858

5959
/**

tests/Foundation/Http/Middleware/TrimStringsTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,20 @@ public function testTrimStringsNBSP()
3535
$symfonyRequest = new SymfonyRequest([
3636
// Here has some NBSP, but it still display to space.
3737
'abc' => '  123   ',
38+
'xyz' => '',
39+
'foo' => '',
40+
'bar' => '  だ   ',
41+
'baz' => '  ム   ',
3842
]);
3943
$symfonyRequest->server->set('REQUEST_METHOD', 'GET');
4044
$request = Request::createFromBase($symfonyRequest);
4145

4246
$middleware->handle($request, function (Request $request) {
4347
$this->assertSame('123', $request->get('abc'));
48+
$this->assertSame('', $request->get('xyz'));
49+
$this->assertSame('', $request->get('foo'));
50+
$this->assertSame('', $request->get('bar'));
51+
$this->assertSame('', $request->get('baz'));
4452
});
4553
}
4654
}

0 commit comments

Comments
 (0)