L'ho già utilizzato in passato, ma mi ha dato grattacapi invece di risolvere il problema, perché se incontri una macchina non Windows, al primo passaggio metti ( se macchina Linux o Mac X ) un BR quando incontra \n poi ne mette un altro quando incontra la seconda istruzione, aggiungendo in pratica due BR dove ce ne va uno.
Non lo uso da tempo, ma sul vecchio PHP 5.x si comportava così, poi non so se mettere tre istruzioni identiche è più efficiente di una sola con preg_match_all().