Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. InvalidRegexPatternRule.php

function InvalidRegexPatternRule::validatePattern

1 call to InvalidRegexPatternRule::validatePattern()
InvalidRegexPatternRule::processNode in vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php

File

vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php, line 111

Class

InvalidRegexPatternRule
Copy of PHPStan's RegularExpressionPatternRule

Namespace

Composer\Pcre\PHPStan

Code

private function validatePattern(string $pattern) : ?string {
    try {
        $msg = null;
        $prev = set_error_handler(function (int $severity, string $message, string $file) use (&$msg) : bool {
            $msg = preg_replace("#^preg_match(_all)?\\(.*?\\): #", '', $message);
            return true;
        });
        if ($pattern === '') {
            return 'Empty string is not a valid regular expression';
        }
        Preg::match($pattern, '');
        if ($msg !== null) {
            return $msg;
        }
    } catch (PcreException $e) {
        if ($e->getCode() === PREG_INTERNAL_ERROR && $msg !== null) {
            return $msg;
        }
        return preg_replace('{.*? failed executing ".*": }', '', $e->getMessage());
    } finally {
        restore_error_handler();
    }
    return null;
}
RSS feed
Powered by Drupal