[9.x] Replace raw invisible characters in regex expressions with counterpart Unicode regex notations #45680
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It is always a good practice to avoid or at least minimize the usage of unescaped non-ascii characters in source code, especially if they are invisible characters.
#41949 introduced an addition to TrimStrings middleware's regex to filter out "Zero Width No-Break Space" (\x{FEFF}) characters, however it was implemented as a raw unescaped invisible character in the source code.
#44906 added one more invisible character "Zero Width Space" (\x{200B}) to the same regex.
However, these symbols aren't visible in GitHub diff
as well as in some text editors like Notepad++ (even with Show All Characters option turned on)
This PR adds more readability to the source code by replacing those invisible characters in both places where they are used with their counterpart Unicode regex notations without affecting the functionality.
\Illuminate\Foundation\Http\Middleware::transform():
\Illuminate\Support\Str::squish():
There's no need to modify corresponding tests that use "real-life" unescaped raw invisible characters as functionality hasn't changed, however there were added some spelling corrections.