$re = '/(((<cfmail\s*)\s*(((\s+from *= *("|\'))([^"\']+)("|\'))|((\s+to *= *("|\'))([^"\']+)("|\'))|((\s+replyto *= *("|\'))([^"\']+)("|\'))|((\s+failto *= *("|\'))([^"\']+)("|\'))|((\s+cc *= *("|\'))([^"\']+)("|\'))|((\s+bcc *= *("|\'))([^"\']+)("|\'))|((\s+port *= *("|\'))([^"\']+)("|\'))|((\s+server *= *("|\'))([^"\']+)("|\'))|((\s+subject *= *("|\'))([^"\']+)("|\'))|((\s+type *= *("|\'))([^"\']+)("|\')))+\s*>))/';
$str = '';
$subst = "<!----------------------START EQMAIL REPLACE --------------------------> <cfset local.stArgs = structNew() /> <cfset local.stArgs['bcc'] = '$33' /> <cfset local.stArgs['cc'] = '$28' /> <cfset local.stArgs['failto'] = '' /> <cfset local.stArgs['from'] = '' /> <cfset local.stArgs['port'] = '$38' /> <cfset local.stArgs['replyto'] = '$8<$13>' /> <cfset local.stArgs['server'] = '$43' /> <cfset local.stArgs['subject'] = '$48' /> <cfset local.stArgs['to'] = '$13' /> <cfset local.stArgs['type'] = '$53' /> <cfsavecontent variable=\"local.stArgs.body\"> <cfoutput> $1";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php