$re = '/\+\/\-[\s\S]+?//[\s\S]+?(^\};\s+$)/mx';
$str = 'block "block1"
{
ADDSFDJF
SDFSDFSDF
SDFSDFSDF
// subblock: subblock1 [master]
include "/path/tofile/subblock1.conf";
+/- subblock subblock1
// subblock: subblock1
subblock "subblock1"
{
type TYPE;
file "name.file";
details blah blah.
other {sdhsdf};
};
};
file "dddd.file";
details blah blah.
// subblock: subblock2
include "/path/tofile/subblock2.conf";
+/- subblock subblock2
// subblock: subblock2
subblock "subblock2"
{
type TYPE;
file "name.file";
details blah blah.
other {sdhsdf};
more fields
};
};';
$subst = "";
$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