
Hello world, I am looking at a certain function in php, from the IMP mail reader (Horde Groupware). I have played a bit with it, but I hate the idea of having several lines of: $vdomain = preg_replace('|^STRING\.|i', '', $vdomain); <CUT> if (!function_exists('_imp_hook_vinfo')) { function _imp_hook_vinfo($type = 'username') { $vdomain = getenv('HTTP_HOST'); $vdomain = preg_replace('|^webmail\.|i', '', $vdomain); $vdomain = preg_replace('|^gw\.|i', '', $vdomain); $vdomain = preg_replace('|^mail\.|i', '', $vdomain); $vdomain = preg_replace('|^(webmail|gw|mail|otherstring)\.|i','', $vdomain); $vdomain = String::lower($vdomain); if ($type == 'username') { return preg_replace('|\.|', '.', $_SESSION['imp']['user'] . '@' . $vdomain); } elseif ($type == 'vdomain') { return $vdomain; } else { return PEAR::raiseError('invalid type: ' . $type); } } } </CUT> Now, instead of having several lines to match and replace a certain string with an empty string, I am thinking a single line regex would do, and it should, no?? I have tried the following: $vdomain = preg_replace('|^(webmail|gw|mail|otherstring)\.|i','', $vdomain); But I end up with an error: Unknown modifier 'g' in *hooks.php.* Is it because I am using mixed up string separator? -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254733744121/+254722743223 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Damn!!