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' : '');
}