Allora devo fare un controllo su un array con molti elementi e di ogni elemento devo solo prendere le parole contenute fra {}

ecco quello che ho fatto:

Codice PHP:
$pattern '/.*\{([^,]+)\}.*/is';
preg_match_all($pattern$temp2[0],$asd);
var_dump($asd);

Ecco il risultato:

array(
2) {
  [
0]=>
  array(
1) {
    [
0]=>
    
string(93"{Vacanze}, {Bed and Breakfast}, {Bed & Breakfast} {in [zona]} {Alberghi} {e Offerte} {[zona]}"
  
}
  [
1]=>
  array(
1) {
    [
0]=>
    
string(6"[zona]"
  
}

Io vorrei che mi restituisca nell'array: {Vacanze} {Bed and Breakfast} {Bed & Breakfast} {in [zona]} {Alberghi} {e Offerte} {[zona]}
Facendo un paio di refresh ho notato che mi prende solo l'ultima parola fra {} e non capisco come mai!

Non sono molto ferrato sulle regex