. */ declare(strict_types=1); namespace FireflyIII\Support\FinTS; use Fhp\Model\StatementOfAccount\Transaction as FinTSTransaction; class MetadataParser { function getDescription(FinTSTransaction $transaction) { //Given a description like 'EREF+AbcCRED+DE123SVWZ+DefABWA+Ghi' or 'EREF+AbcCRED+DE123SVWZ+Def' return 'Def' $finTSDescription = $transaction->getDescription1(); if (preg_match('/SVWZ\+([^\+]*)([A-Z]{4}\+|$)/', $finTSDescription, $matches) === 1) { return $matches[1]; } return $finTSDescription; } }