Hi there,
Ah, it’s a very old thread from our old forum. Maybe it’s not accessible now, I’ll post what I said there
start here
Their compatibility checker isn’t accurate, they doesn’t really check the compatibility. They only check the existence of certain string.
From that jsqueeze.php file
Line 387 : $code = preg_replace("'(?<![\$.a-zA-Z0-9_])while\('", '3#(', $code); Line 465 : $f = preg_replace("'(?<![\$.a-zA-Z0-9_])else\n'", "\n", $f); Line 480 : $f = preg_replace("'(?<![a-zA-Z0-9_\$])for\neach\('", 'for each(', $f);
As you’ll notice, the compatibility tester doesn’t check if it’s really a /e modifier ( http://php.net/manual/en/function.preg-replace.php Errors/Exceptions ). It only checks the existence of letter e from preg_replace() regex string.
end here
And check this too https://wordpress.org/support/topic/false-positive-preg_replace-e-modifier/ as from the plugin author,
To clarify, this plugin relies completely on the PHPCompatibility project (https://github.com/wimg/PHPCompatibility) for error reporting. Any false positives and so forth should be posted as an issue there.
Which means your tool is using the same https://github.com/wimg/PHPCompatibility. It doesn’t base their result from actual PHP error. But based on the logic of their tools which could be faulty if it can’t see the difference between /e and e in preg_replace().
Thanks!