8 use PHP_CodeSniffer\Sniffs\Sniff;
9 use PHP_CodeSniffer\Files\File;
10 use PHP_CodeSniffer\Util\Tokens;
25 protected $errorMessage =
"Possible executable regular expression in %s. Make sure that the pattern doesn't contain 'e' modifier";
57 public function register()
65 public function process(File $phpcsFile, $stackPtr)
67 $tokens = $phpcsFile->getTokens();
68 if (
$tokens[$stackPtr][
'content'] !== $this->
function) {
71 $prevToken = $phpcsFile->findPrevious(T_WHITESPACE, $stackPtr - 1,
null,
true);
72 if (in_array(
$tokens[$prevToken][
'code'], $this->ignoreTokens)) {
75 $nextToken = $phpcsFile->findNext([T_WHITESPACE, T_OPEN_PARENTHESIS], $stackPtr + 1,
null,
true);
76 if (in_array(
$tokens[$nextToken][
'code'], Tokens::$stringTokens)
77 && preg_match(
'/[#\/|~\}\)][imsxADSUXJu]*e[imsxADSUXJu]*.$/',
$tokens[$nextToken][
'content'])
process(File $phpcsFile, $stackPtr)