diff --git a/src/Fixer/Basic/NonPrintableCharacterFixer.php b/src/Fixer/Basic/NonPrintableCharacterFixer.php index a47707d91cb..428cdab9792 100644 --- a/src/Fixer/Basic/NonPrintableCharacterFixer.php +++ b/src/Fixer/Basic/NonPrintableCharacterFixer.php @@ -174,7 +174,19 @@ protected function applyFix(\SplFileInfo $file, Tokens $tokens): void } if ($token->isGivenKind(self::$tokens)) { - $tokens[$index] = new Token([$token->getId(), strtr($content, $replacements)]); + $newContent = strtr($content, $replacements); + + // variable name cannot contain space + if ($token->isGivenKind([T_STRING_VARNAME, T_VARIABLE]) && str_contains($newContent, ' ')) { + continue; + } + + // multiline comment must have "*/" only at the end + if ($token->isGivenKind([T_COMMENT, T_DOC_COMMENT]) && str_starts_with($newContent, '/*') && strpos($newContent, '*/') !== \strlen($newContent) - 2) { + continue; + } + + $tokens[$index] = new Token([$token->getId(), $newContent]); } } } diff --git a/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php b/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php index d34238cc3d6..b4080f9440d 100644 --- a/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php +++ b/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php @@ -103,6 +103,18 @@ function f(string $p) 'abc', 'a'.pack('H*', 'e2808b').'bc', ], + [ + '