preg_quote()
and the
#
Character
The preg_quote()
function is used to prefix every
character of a string that is part of the regular expression syntax
with a \
character. Prior to PHP 7.3, the
#
character was not prefixed with a \
character.
var_dump(preg_quote('.\+*?[^]$(){}=!<>|:-#'));
Executing the code shown above with PHP 7.3 and newer will print the output shown below:
string(42) "\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:\-\#"
Executing the code shown above with PHP 7.2 and older printed the output shown below:
string(42) "\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:\-#"