Skip to content

Commit 9f388bf

Browse files
committed
fix
1 parent cee0cd7 commit 9f388bf

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/Rules/Regexp/RegularExpressionPatternRule.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212
use PHPStan\Type\Regex\RegexExpressionHelper;
1313
use function in_array;
1414
use function sprintf;
15+
use function str_contains;
1516
use function str_starts_with;
17+
use function strrpos;
1618
use function strtolower;
19+
use function substr;
1720

1821
/**
1922
* @implements Rule<Node\Expr\FuncCall>
@@ -123,9 +126,10 @@ private function validatePattern(string $pattern): ?string
123126
try {
124127
Strings::match('', $pattern);
125128
} catch (RegexpException $e) {
126-
if (str_contains($e->getMessage(), 'UTF-8 error')) {
129+
$lastColonPos = strrpos($e->getMessage(), ':');
130+
if (str_contains($e->getMessage(), 'UTF-8 error') && $lastColonPos !== false) {
127131
// strip invalid utf-8 pattern contents to keep the error message NEON parsable.
128-
return substr($e->getMessage(), 0, strrpos($e->getMessage(), ':'));
132+
return substr($e->getMessage(), 0, $lastColonPos);
129133
}
130134
return $e->getMessage();
131135
}

0 commit comments

Comments
 (0)