/** * @param Message $message * * @return Purchase[] */ protected function parseData(Message $message) { $dom = new \DOMDocument(); $dom->loadHTML($message->getMessageBody(true)); $nodes = $dom->getElementsByTagName('p'); $purchase = new Purchase\Purchase(); $purchase->date = new Date(); $purchase->place = 'Pagamento'; $matches = []; preg_match('/no valor de R\\$ (.*)/', $nodes->item(2)->nodeValue, $matches); $purchase->amount = (new Currency($matches[1]))->getValue(); return [$purchase]; }
/** * @param Message $message * * @return Purchase[] */ protected function parseData(Message $message) { $dom = new \DOMDocument(); $dom->loadHTML($message->getMessageBody(true)); $nodes = $dom->getElementsByTagName('p'); $purchase = new Purchase\Purchase(); $matches = []; preg_match('/((?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])/', $nodes->item(2)->nodeValue, $matches); $purchase->date = new Date(join('-', array_reverse(explode('/', $matches[1])))); preg_match('/local: (.*?),/', str_replace('.', ',', str_replace("\n", ' ', $nodes->item(2)->nodeValue)), $matches); $purchase->place = trim($matches[1]); preg_match('/R\\$ (.*), no dia/', $nodes->item(2)->nodeValue, $matches); $purchase->amount = (new Currency($matches[1]))->getValue(); return [$purchase]; }
/** * @param Message $message * * @return Purchase[] */ protected function parseData(Message $message) { $dom = new \DOMDocument(); $dom->loadHTML($message->getMessageBody(true)); $nodes = $dom->getElementsByTagName('tr'); $data = array(); for ($i = 5; $i <= $nodes->length; $i++) { if (strstr($nodes->item($i)->nodeValue, 'R$')) { $date = $nodes->item($i)->childNodes->item(0)->nodeValue; $date = new \DateTime(trim($date)); $place = $nodes->item($i)->childNodes->item(1)->nodeValue; $amount = $nodes->item($i)->childNodes->item(2)->nodeValue; $purchase = new \shina\controlmybudget\Purchase\Purchase(); $purchase->date = $date; $purchase->place = trim($place); $purchase->amount = (double) str_replace('R$', '', str_replace(',', '.', str_replace('.', '', trim($amount)))); $data[] = $purchase; } else { break; } } return $data; }
private function createItem(Message $message) { $item = new Item(); $item->title(utf8_encode($message->getSubject()))->description(utf8_encode($message->getMessageBody()))->url($this->url . $message->getUid() . '.html')->pubDate($message->getDate())->guid($message->getUid())->appendTo($this->channel); file_put_contents($this->dir . '/' . $message->getUid() . '.html', $message->getMessageBody(true)); }