/** * Overloaded: ABN Amro shows the GIRO and fixes newlines etc * @inheritdoc */ protected function parseTransactionAccountName() { $results = parent::parseTransactionAccountName(); if ($results !== '') { return $results; } $results = []; // echo strpos($this->getCurrentTransactionData(), 'NAAM:')."\n"; //echo preg_match('/NAAM:(.*?)(OMSCHRIJVING|MACHTIGING)/s', $this->getCurrentTransactionData(), $results),"\n"; if (strpos($this->getCurrentTransactionData(), 'NAAM:') !== false && preg_match('/NAAM:(.*?)(OMSCHRIJVING|MACHTIGING)/s', $this->getCurrentTransactionData(), $results) && !empty($results[1])) { // echo $results[1]; $accountName = trim($results[1]); if (!empty($accountName)) { return $this->sanitizeAccountName($accountName); } } if (preg_match('#/NAME/(.*?)/(REMI|ADDR)/#ms', $this->getCurrentTransactionData(), $results) && !empty($results[1])) { $accountName = trim($results[1]); if (!empty($accountName)) { return $this->sanitizeAccountName($accountName); } } if (preg_match('/:86:(GIRO|BGC\\.)\\s+[\\d]+ (.+)/', $this->getCurrentTransactionData(), $results) && !empty($results[2])) { return $this->sanitizeAccountName($results[2]); } /*if (preg_match('/:86:.+\n(.*)\n/', $this->getCurrentTransactionData(), $results) && !empty($results[1]) ) { return $this->sanitizeAccountName($results[1]); } */ return ''; }
/** * Overloaded: ABN Amro shows the GIRO and fixes newlines etc * @inheritdoc */ protected function parseTransactionAccountName() { $results = parent::parseTransactionAccountName(); if ($results !== '') { return $results; } $results = []; if (preg_match('/:86:(GIRO|BGC\\.)\\s+[\\d]+ (.+)/', $this->getCurrentTransactionData(), $results) && !empty($results[2])) { return $this->sanitizeAccountName($results[2]); } if (preg_match('/:86:.+\\n(.*)\\n/', $this->getCurrentTransactionData(), $results) && !empty($results[1])) { return $this->sanitizeAccountName($results[1]); } return ''; }
/** * Overloaded: Added simple IBAN transaction handling * @inheritdoc */ protected function parseTransactionAccountName() { $name = parent::parseTransactionAccountName(); if ($name !== '') { return $name; } // IBAN $transactionData = str_replace('Europese Incasso, doorlopend ', '', $this->getCurrentTransactionData()); $transactionData = preg_replace('![\\r\\n]+!', '', $transactionData); if (preg_match('#/CNTP/[^/]*/[^/]*/(.*?)/#', $transactionData, $results)) { $name = trim($results[1]); if (!empty($name)) { return $this->sanitizeAccountName($name); } } if (preg_match('#:86:.*? [^ ]+ (.*)#', $transactionData, $results) !== 1) { return ''; } return $this->parseNameFromTransactionData($results[1]); }