-
Notifications
You must be signed in to change notification settings - Fork 8
Craft CMS 2 phone field (PHP 7.3 regex compatibility issue) #115
Copy link
Copy link
Open
Description
Description
I'm aware the Craft 2 version is unlikely to be updated, but a warning for anyone else who may come across this. Since PHP 7.3 preg_quote() will quote the # character which breaks the phone field validation in Sprout Fields, because it adds a backslash before each # and turns the regex into this:
/^\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})\([0-9]{1})$/
You will get the following error:
preg_match(): Compilation failed: unmatched closing parenthesis at offset 11
This is because the regex has been manipulated in a way which is not expected, because the # character did not behave like this previously.
https://www.php.net/manual/en/function.preg-quote.php
Below PHP 7.3 you won't see the problem.
Reactions are currently unavailable