Can someone help debug this error?
Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 1
*
in regex means to match the previous character 0 or more times, while (
starts a capturing group. So, the *
has nothing to repeat, since what comes before the *
is a (
, which cannot be repeated by itself, hence this warning.
To fix it, just escape the *
, like so:
$uid = preg_replace("#(\*UTF8)[^A-Za-z0-9]#", "", $tmp);