Skip to content

Commit

Permalink
bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
jansenfelipe committed Mar 5, 2016
1 parent 997b30e commit 18b19cb
Showing 1 changed file with 51 additions and 51 deletions.
102 changes: 51 additions & 51 deletions src/CepGratis.php
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
<?php
namespace JansenFelipe\CepGratis;

use Exception;
use Goutte\Client;
use JansenFelipe\Utils\Utils as Utils;

class CepGratis {
/**
* Metodo para realizar a consulta
*
* @throws Exception
* @param string $cep CEP
* @return array Endereço
*/
public static function consulta($cep) {

if (strlen($cep) < 8)
throw new Exception('O cep informado não parece ser válido');

$client = new Client();
$crawler = $client->request('POST', 'http://www.buscacep.correios.com.br/sistemas/buscacep/resultadoBuscaCepEndereco.cfm', [
'relaxation' => Utils::unmask($cep),
'tipoCEP' => 'ALL',
'semelhante' => 'N'
]);

// Realiza a filtragem para que somente a linha que contenha os
// dados que queremos possa ser localizada
$tr = $crawler->filter(".tmptabela > tr:nth-child(2)");

// Recebe o endereço obtido através da consulta
$endereco = [
'logradouro' => $tr->filter("td:nth-child(1)")->html(),
'bairro' => $tr->filter('td:nth-child(2)')->html(),
'cidade' => $tr->filter('td:nth-child(3)')->html(),
'cep' => $tr->filter('td:nth-child(4)')->html()
];

// Remove um dos logradouros, caso a consulta traga mais de um,
// como por exemplo: Rua América - Rua G
$aux = explode(" - ", $endereco['logradouro']);
$endereco['logradouro'] = (count($aux) == 2) ? $aux[0] : $endereco['logradouro'];

// Separa a cidade do Estado. Anteriormente estes campos vinham em TD's separadas
// agora, vêm juntas, separadas por uma barra
$separado = explode('/', $endereco['cidade']);
$endereco['cidade'] = $separado[0];
$endereco['uf'] = $separado[1];

return str_replace('&nbsp;', '', array_map('htmlentities', array_map('trim', $endereco)));
}
namespace JansenFelipe\CepGratis;

use Exception;
use Goutte\Client;
use JansenFelipe\Utils\Utils as Utils;

class CepGratis {
/**
* Metodo para realizar a consulta
*
* @throws Exception
* @param string $cep CEP
* @return array Endereço
*/
public static function consulta($cep) {

if (strlen($cep) < 8)
throw new Exception('O cep informado não parece ser válido');

$client = new Client();
$crawler = $client->request('POST', 'http://www.buscacep.correios.com.br/sistemas/buscacep/resultadoBuscaCepEndereco.cfm', [
'relaxation' => Utils::unmask($cep),
'tipoCEP' => 'ALL',
'semelhante' => 'N'
]);

// Realiza a filtragem para que somente a linha que contenha os
// dados que queremos possa ser localizada
$tr = $crawler->filter(".tmptabela > tr:nth-child(2)");

// Recebe o endereço obtido através da consulta
$endereco = [
'logradouro' => $tr->filter("td:nth-child(1)")->html(),
'bairro' => $tr->filter('td:nth-child(2)')->html(),
'cidade' => $tr->filter('td:nth-child(3)')->html(),
'cep' => $tr->filter('td:nth-child(4)')->html()
];

// Remove um dos logradouros, caso a consulta traga mais de um,
// como por exemplo: Rua América - Rua G
$aux = explode(" - ", $endereco['logradouro']);
$endereco['logradouro'] = (count($aux) == 2) ? $aux[0] : $endereco['logradouro'];

// Separa a cidade do Estado. Anteriormente estes campos vinham em TD's separadas
// agora, vêm juntas, separadas por uma barra
$separado = explode('/', $endereco['cidade']);
$endereco['cidade'] = $separado[0];
$endereco['uf'] = $separado[1];

return str_replace('&nbsp;', '', array_map('htmlentities', array_map('trim', $endereco)));
}
}

0 comments on commit 18b19cb

Please sign in to comment.