function parseHtmlCNPJ($html) { // respostas que interessam $campos = array('NÚMERO DE INSCRIÇÃO', 'DATA DE ABERTURA', 'NOME EMPRESARIAL', 'TÍTULO DO ESTABELECIMENTO (NOME DE FANTASIA)', 'CÓDIGO E DESCRIÇÃO DA ATIVIDADE ECONÔMICA PRINCIPAL', 'CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS', 'CÓDIGO E DESCRIÇÃO DA NATUREZA JURÍDICA', 'LOGRADOURO', 'NÚMERO', 'COMPLEMENTO', 'CEP', 'BAIRRO/DISTRITO', 'MUNICÍPIO', 'UF', 'ENDEREÇO ELETRÔNICO', 'TELEFONE', 'ENTE FEDERATIVO RESPONSÁVEL (EFR)', 'SITUAÇÃO CADASTRAL', 'DATA DA SITUAÇÃO CADASTRAL', 'MOTIVO DE SITUAÇÃO CADASTRAL', 'SITUAÇÃO ESPECIAL', 'DATA DA SITUAÇÃO ESPECIAL'); // caracteres que devem ser eliminados da resposta $caract_especiais = array(chr(9), chr(10), chr(13), ' ', '</b>', ' ', '<b>MATRIZ<br>', '<b>FILIAL<br>'); // prepara a resposta para extrair os dados $html = str_replace('<br><b>', '<b>', str_replace($caract_especiais, '', strip_tags($html, '<b><br>'))); $html3 = $html; // faz a extração for ($i = 0; $i < count($campos); $i++) { $html2 = strstr($html, utf8_decode($campos[$i])); $resultado[] = trim(pega_o_que_interessa(utf8_decode($campos[$i]) . '<b>', '<br>', $html2)); $html = $html2; } // extrai os CNAEs secundarios , quando forem mais de um if (strstr($resultado[5], '<b>')) { $cnae_secundarios = explode('<b>', $resultado[5]); $resultado[5] = $cnae_secundarios; unset($cnae_secundarios); } // devolve STATUS da consulta correto if (!$resultado[0]) { if (strstr($html3, utf8_decode('O número do CNPJ não é válido'))) { $resultado['status'] = 'CNPJ incorreto ou não existe'; } else { $resultado['status'] = 'Imagem digitada incorretamente'; } } else { $resultado['status'] = 'OK'; } return $resultado; }
function parseHtmlCPF($html) { // respostas que interessam $campos = array('No do CPF:', 'Nome da Pessoa Física:', 'Data de Nascimento:', 'Situação Cadastral:', 'Data da Inscrição:'); // caracteres que devem ser eliminados da resposta $caract_especiais = array(chr(9), chr(10), chr(13), ' ', ' '); // prepara a resposta para extrair os dados $html = str_replace('<br /><br />', '<br />', str_replace($caract_especiais, '', strip_tags($html, '<b><br>'))); // para utilizar na hora de devolver o status da consulta $html3 = $html; // faz a extração for ($i = 0; $i < count($campos); $i++) { $html2 = strstr($html, utf8_decode($campos[$i])); $resultado[] = trim(pega_o_que_interessa(utf8_decode($campos[$i]), '<br', $html2)); $html = $html2; } // devolve STATUS da consulta correto if (!$resultado[0]) { if (strstr($html3, utf8_decode('CPF incorreto'))) { $resultado['status'] = 'CPF incorreto'; } else { if (strstr($html3, utf8_decode('não existe em nossa base de dados'))) { $resultado['status'] = 'CPF não existe'; } else { if (strstr($html3, utf8_decode('Os caracteres da imagem não foram preenchidos corretamente'))) { $resultado['status'] = 'Imagem digitada incorretamente'; } else { $resultado['status'] = 'Receita não responde'; } } } } else { $resultado['status'] = 'OK'; } return $resultado; }