Ho fatto qualche modifica... il codice definitivo è questo, ho affinato leggermente la regex per funzionare funziona benissimo, spero di non essermi complicato la vita.
Codice PHP:
$contenuto = '[TAG1 tipo="coordinate" latitudine="45.943600" longitudine="8.686690"';
//prima estrazione
$pattern = '/\[TAG1 tipo="coordinate" latitudine="(?:\d*\.)?\d+" longitudine="(?:\d*\.)?\d+"/i';
preg_match_all($pattern, $contenuto, $risultato_PRIMA, PREG_SET_ORDER, 0);
// estraggo il valore
$secondo = $risultato_PRIMA[0][0]; // estrae tutto il blocco [TAG1 tipo="coordinate" latitudine="XXX" longitudine="YYY"
// estrazione del blocco latitudine
$pattern_LATITUDINE = '/latitudine="(?:\d*\.)?\d+"/i';
preg_match_all($pattern_LATITUDINE, $secondo, $risultato_LATITUDINE, PREG_SET_ORDER, 0);
$latitudine_totale = $risultato_LATITUDINE[0][0]; // estrae: latitudine="XXX"
// estrazione del blocco longitudine
$pattern_LONGITUDINE = '/longitudine="(?:\d*\.)?\d+"/i';
preg_match_all($pattern_LONGITUDINE, $secondo, $risultato_LONGITUDINE, PREG_SET_ORDER, 0);
$longitudine_totale = $risultato_LONGITUDINE[0][0]; // estrae: longitudine="XXX"
// estrazione dei soli valori numerici di latitudine e longitudine
$pattern_NUMERO = '/(?:\d*\.)?\d+/';
// estrazione valore numerico latitudine
preg_match_all($pattern_NUMERO, $latitudine_totale, $latitudine, PREG_SET_ORDER, 0);
// estrazione valore numerico longitudine
preg_match_all($pattern_NUMERO, $longitudine_totale, $longitudine, PREG_SET_ORDER, 0);
echo " LAT: " . $latitudine[0][0] . " LON: " . " " . $longitudine[0][0];