Cómo reemplazar texto sobre varias líneas usando preg_replace

Hola, tengo el siguiente contenido dentro de una página html que se extiende varias líneas

<div class="c-fc c-bc" id="content">
                <span class="content-heading c-hc">Heading 1 </span><br />
                The Home Page must provide a introduction to the services provided.<br />
                <br />
                <span class="c-sc">Sub Heading</span><br />
                The Home Page must provide a introduction to the services provided.<br />
                <br />
                <span class="c-sc">Sub Heading</span><br /> 
                The Home Page must provide a introduction to the services provided.<br />
            </div>

Necesito reemplazar todo entre<div class="c-fc c-bc" id="content"> y</div> con texto personalizado

Utilizo el siguiente código para lograr esto, pero no quiere trabajar si son varias líneas, pero funciona si evertinh está en una línea

$body = file_get_contents('../../templates/'.$val['url']);

$body = preg_replace('/<div class=\"c\-fc c\-bc\" id=\"content\">(.*)<\/div>/','<div class="c-fc c-bc" id="content">abc</div>',$body);

¿Me estoy perdiendo de algo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta