С preg_match_all () я не могу предложить решение.
Альтернатива:
$string = 'WARERFRONTS RESTAURANT
P.O. Box 32801
818 CA RETHJU AL Orlando, FL 32801-32807
Miami, FL 33102-5250';
$parts = preg_split('~\R *| {2,}~u', $string);
$adr = [];
for ($iAdr = 0; array_key_exists($iAdr + 4, $parts); $iAdr++){
$adr[] = $parts[$iAdr + 2]." ".$parts[$iAdr + 4];
}
var_dump($adr);
Вывод:
array(2) {
[0]=>
string(38) "P.O. Box 32801 Orlando, FL 32801-32807"
[1]=>
string(37) "818 CA RETHJU AL Miami, FL 33102-5250"
}