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.)