Is there a utility that will convert POSIX to PCRE for PHP? I’m somewhat confused by the PHP manual on PCRE, and while I’ll try to find more info on PCRE, I was wondering if anyone had designed such a utility.
Or, if anyone would explain how to convert the following, that would also be fine:
ereg("^#[01-9A-F]{6}$", $sColor)
But please explain how it’s done, not just tell me the conversion.
In this case you only need to add the two delimiters.
In perl you can write something like
if ( s =~ /x.+y/ ) { print "match"; }As you can see the actual regular expression is encapsulated in //. If you want to set an option on the regular expression you put it after the second /, e.g. switching the expression to ungreedy by default /x.+y/U
pcre now emulates this behaviour. Though you have to call a function you also have to provide the delimiters and set the options after the second delimiter. In perl the delimiter has to be /, with pcre you can chose more freely
preg_match("/^#[01-9A-F]{6}$/", $sColor) preg_match("!^#[01-9A-F]{6}$!", $sColor) preg_match("#^\#[01-9A-F]{6}$#", $sColor) // need to escape the # within the expression here preg_match("^#[01-9A-F]{6}$", $sColor)all the same to pcre, best to chose a character that doesn't appear within the expression.