$re = '/\\\\only\s*({((?:[^{}]++|(?1))*)})/';
$str = '\\only{
\\begin{equation*}
\\psi_{w}(B)(1-B)^{d}y_{t,w} = x^{T}_{t,w}\\gamma_{w} + \\eta_{w}(B)z_{t,w},
\\label{eq:gen_arima}
\\end{equation*}
}
\\only{
}';
$subst = "$2";
$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