Hellihello
Und vermutlich bist du mit strtok() besser dran als mit einem regulären Ausdruck.
An so einen Ansatz dachte ich auch. Mit strpos die Postition von feststellen und dann mit substr den String abschneiden.
if(strpos($gradstring,"+") !== false) (oder === 0) => halte fest: es beginnt mit Pluseichen. => Schneide Pluszeichen weg (evtl. auch mit str_replace)...;
Dann weiter mit Grad-Zeichen, wieder abschneiden, dann Sekunden etc.pp.
Aber wenn ich das richtig sehe, ist strtok dafür noch besser geeignet bzw. fasst genau diese Funktionen zusammen.
Dank und Gruß,