Class it:

/**
 * Convert regex for preg (adds and escapes delimiter, adds modifiers)
 * @param $pattern Regex to convert
 * @param $p['casesensitive'] Regex is case sensitive (omit modifier i)
 * @param $p['multiline'] add modifier m: ^ and $ match \n
 * @param $p['singleline'] add modifier s: . matches \n
 * @param $p['utf8'] add modifier u. This is the default if default_charset is utf-8, override with $p['utf8'] = false
 * @param $p['extended'] add modifier x (non signifcant whitespace)
 * @return converted regex to use with preg
 */
static function convertregex($pattern$p null)
{
    return 
'/' strtr($pattern, array('/' => '\/')) . '/' .
        (!
$p['casesensitive'] ? 'i' '') .
        (
$p['multiline'] ? 'm' '') .
        (
$p['singleline'] ? 's' '') .
        (
$p['extended'] ? 'x' '') .
        ((!isset(
$p['utf8']) && ini_get('default_charset') == 'utf-8' || $p['utf8']) ? 'u' '');
}