Perdon el doble post pero tengo ya este código que es como decía (con s):
    
Código PHP:
Ver original$text = '<div id="contain">
 *<span>test</span>
 *<span>test</span>
 *<span>test</span>
</div>
<div id="contain">
 *<span>test</span>
 *<span>test</span>
 *<span>test</span>
</div>';
preg_match_all("/<div id=\"contain\">(.*)<\/div>/s", $text, $matches); 
  
Y obtengo lo mismo, ¿alguna solución?