$re = '/class[^\r\n]+\R\{(\s*)(?=.*?\})/s';
$str = '<?php
namespace Foo;
class Foo extends Sth
{
/**
* @Flow\\Inject
* @var CacheManager
*/
protected $cacheManager;
}';
$subst = "$0\/\*\*\n\t \* NOTE: This property has been introduced via code migration to ensure backwards-compatibility.\n\t \* \@see AbstractViewHelper::escapeOutput\n\t \* \@var boolean\n\t \*\/\n\tprotected \$escapeOutput = FALSE;\n$1";
$result = preg_replace($re, $subst, $str, 1);
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