I'm looking for something similar to preg_quote, but for the MySQL regexp syntax.
Any ideas?
I'm looking for something similar to preg_quote, but for the MySQL regexp syntax.
Any ideas?
There's no native MySQL function for that. You might just need to use preg_quote
before passing the regular expression to the MySQL query.
MySQL regexps are the ‘extended’ POSIX variant (ERE), available in PHP as the deprecated ereg_
functions.
Unfortunately there is no ereg_quote
in PHP, however PCRE's special characters are a superset of ERE's special characters, and backslash-escaping a non-special punctuation character doesn't harm it, so you can get away with using preg_quote
safely.
(Naturally you will need parameterised queries or mysql_real_escape_string
after that quoting, to stop the backslashes being misinterpreted as MySQL's non-ANSI-standard string literal escapes.)