buongiorno a tutti...

come da titolo ho questo problema:

nel gestire un multilingua ho creato un sistema per il rimpiazzo dei testi da tradurre con questo sistema

Codice PHP:
  $pattern="|<translate field=\"(.*)\">(.*)</translate>|U";
    
  
preg_match_all($pattern,$source,$coll,PREG_PATTERN_ORDER); 
funziona molto bene solo quando tra i tag <translate> e </translate> non ci sono ritorni a capo...

ho provato a in diversi modi ma proprio no riesco a capire come dirgli di tenere in considerazione anche i ritorni a capo.

ho capito che il . nelle parentesi indica un esclusione dei ritorni a capo ma anche togliendolo non riesco a ottenere il mio risultato

come posso risolvere?

grazie