From c02a44702246eb37f5ef3b8cab7b38107fbeb36a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Wer=C5=82os?= Date: Mon, 13 Dec 2021 18:21:53 +0000 Subject: [PATCH] NonPrintableCharacterFixer - fix for string in single quotes, having non-breaking space, linebreak, and single quote inside --- src/Fixer/Basic/NonPrintableCharacterFixer.php | 2 +- tests/Fixer/Basic/NonPrintableCharacterFixerTest.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Fixer/Basic/NonPrintableCharacterFixer.php b/src/Fixer/Basic/NonPrintableCharacterFixer.php index 428cdab9792..c7cbb18495f 100644 --- a/src/Fixer/Basic/NonPrintableCharacterFixer.php +++ b/src/Fixer/Basic/NonPrintableCharacterFixer.php @@ -165,7 +165,7 @@ protected function applyFix(\SplFileInfo $file, Tokens $tokens): void if ($swapQuotes) { $content = str_replace('"', '\"', $content); - $content = Preg::replace('/^\'(.*)\'$/', '"$1"', $content); + $content = Preg::replace('/^\'(.*)\'$/s', '"$1"', $content); } $tokens[$index] = new Token([$token->getId(), strtr($content, $escapeSequences)]); diff --git a/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php b/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php index b4080f9440d..45d5c0f8722 100644 --- a/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php +++ b/tests/Fixer/Basic/NonPrintableCharacterFixerTest.php @@ -303,6 +303,10 @@ function f(string $p) INPUT , pack('H*', 'e2808b')), ], + [ + "