Jump to content
sheepziiin

METODO REPLACE PARA SUBSTITUIR PALAVRAS E CARACTERES

Recommended Posts

Boa tarde colegas !

  • Estou quebrando a cabeça com um job para tratamento de logradouros. Segue o raciocínio:

 

Tenho uma lista com todos os endereços do estado de São Paulo, onde os mesmos são extraídos da seguinte forma:

 

Exemplo:

AL-AFONSO SCHMIDT/CDM:ED. SOPHIS SANTANA_COM PRUMADA/BLC:A-555-AP - Apartamento: 61 A
AL-ANAPURUS/EDI:BOULEVARD/BLC:A-777-AP - Apartamento: 131
AL-ARAPANES/EDI:CDOE,6-5ºANDAR-309-AP - Apartamento: 42
AL-ARAPANES/EDI:COND.ED.MOEMA DUPLEX LIFE-1142-AP - Apartamento: 102
AL-ARAPANES/EDI:COND.ED.MOEMA DUPLEX LIFE-1142-AP - Apartamento: 42
AL-ARAPANES/EDI:PARC BRUMENADI-982-AP - Apartamento: 191
AL-BARROS/EDI:PERVAL-186-AP - Apartamento: 1601
AL-BARROS/EDI:PERVAL-186-BL - Blocos: B AP - Apartamento: 1302
AL-CAETANO,S/CDM:ED. GIARDINO_CDOE_1_ANDAR_11 A 13-165-AP - Apartamento: 63
AL-CAETANO,S/EDI:ESPLENDOR-1234-AP - Apartamento: 71
AL-CAETANO,S/EDI:MAGENTA I_CDOE_1_ANDAR_7 A 10-2575-AP - Apartamento: 94
AL-CALCUTA-195-AP - Apartamento: 02
AL-CAMPESTRE-728-CS - Casa: 1
AL-CASA BRANCA/CDM:BRISTOL-851-CJ - Conjunto: 11 AN - Andar: 01
AL-CASA BRANCA/CDM:SAINT SIMON-667-AP - Apartamento: 11


Notem que os casos "não tem um padrão" (até tem por tipo de residencia). Utilizei inúmeras postagens aqui do fórum e consegui solucionar os casos para residencias (padrão TIPO_LOG;LOG;COMPL;NUM), no entanto as formulas e soluções aqui indicadas por vocês "param" na primeira sequencia numérica, entretanto para a maioria dos casos, o texto continua com letras, números e caracteres.

 

Segue o padrão final que preciso chegar.

Exemplo: AL-AFONSO SCHMIDT/CDM:ED. SOPHIS SANTANA_COM PRUMADA/BLC:A-555-AP - Apartamento: 61 A

Resultado Tratado: AFONSO SCHMIDT 555

 

Desde de já muito obrigado pelos retornos que certamente virão.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By igmacedo
      Preciso criar uma rota para cada usuário, mais de forma automatizada. é preciso que a url fique assim:
      site.com/compane/nome_da_empresa
       
      repare na parte em negrito, deve ser feito uma consulta no banco de dados para saber se aquele nome existe ou não, se existir, ele mostra a view1, se não existir ele mostra a view2.
       
      dessa forma eu poderia pegar o nome dos usuários que já existem no bd e passar na url na forma de string para mostra uma especie de pagina personalizada para cada um, a ideia do projeto é ser single-tenancy, então não haverá subdominio, apenas paginas, poderiam me dar um norte para construir a funçao?
      não achei nada a respeito.
    • By Augustosx
      Desejo realizar a leitura da ultima linha de um arquivo .csv, mas não tenho ideia de como posso realizar esse feito já tentei de diversas formas e em nenhuma obtive sucesso. Se alguém puder me ajudar fico grato.
      8001,BREINFO,autor,"OU=Usuarios,DC=BREINFO,DC=COM",$true,123456A@,$false 8002,BREINFO,autor,"OU=Usuarios,DC=BREINFO,DC=COM",$true,123456A@,$false <?php $file = __DIR__ . '/arquivo.csv'; $csv = file($file); foreach ($csv as $row => $line) { $row++; //Limitador para separar os array $column = str_getcsv($line, ','); //Linha que se será analisada if ($row == 4) { //Faço a captura apenas do ID do array echo $column[0]; } } ?> OBS: $row 4 na operação de if é apenas para ilustração o correto ali seria capturar a ultima linha do CSV, e o $row++ eu tinha a ideia de sempre acrescentar +1 após a 1ª leitura mas deu falha, po isso tive a ideia de sempre ler a ultima linha do arquivo.
    • By Jeová Oliveira dos Santos
      Preciso de ajuda.
      Tenho uma tabela de vencimentos de um vetor
      Ex.
      Tenho um variável que armazena a minha quantidade de parcelas $qtdeparcela informada pelo usuário em um form html.
      Tenho uma outra que vem com o dia de vencimento $diavenc=12 e outra com o mês de vencimento $mesvenc=9, preciso por no vetor assim
      vetor[0]=parcela 1 = o $mesvenc (que seria igual a 9 por exemplo) + 1 - ou seja seria 12/10
      vetor[1]=parcela2 = 12/11
      vetor[2]=parcela 3 = 12/12
      vetor[3]=parcela 4 = 12/01
      E assim por diante até findar as posições do vetor, mais não estou sabendo por dentro do vetor as posições infomada na variável $qtdeparcela.
      Se eu tenho $qtdeparcela = 5 o vetor deveria ficar com 5 posições.
      O código abaixo é como foi feito e não acerto.
      index.html <!DOCTYPE html> <html> <head> <title>Empréstimo Pessoal - TrustBank Investimentos</title> <meta charset="utf-8"/> <style> </style> </head> <body> <img src="img/bank.pnj.psd" /> <p>Procurando por um parceiro de confiança? O TrustBank Investimentos é a solução.</p> <form name="calculo" method="get" action="financiamento.php"> Nome do Cliente <input type="text" name="nome" required /><br> CPF <input type="number" name="CPF" required/><br> Dia do Vencimento para pagamento do Financiamento <input type="number" name="diavenc" min="1" max="28" required /><br> Mês do Vencimento para pagamento do Financiamento <input type="number" name="mesvenc" min="1" max="12" required/><br> Valor do Empréstimo solicitado pelo Cliente <input type="number" name="vlremprestimo" min="0,01" max="999999,99" required /><br> Quantidade de Prestações para o financiamento <input type="number" name="qtdeparcela" min="1" max="60" required/><br> Taxa de Juros <input type="number" name="taxa" required /><br> <input type="submit" value="Calcular" /> <input type="reset" value="Limpar" /> </form> </body> </html> financiamento.php <?php $nome=$_GET["nome"]; $cpf=$_GET["CPF"]; $diavenc=$_GET["diavenc"]; $mesvenc=$_GET["mesvenc"]; $vlremprestimo=$_GET["vlremprestimo"]; $qtdeparcela=$_GET["qtdeparcela"]; $taxa=$_GET["taxa"]; $taxa=$taxa/100; $coeficiente=$taxa/(1-(1+$taxa)**-$qtdeparcela); $vlrprestacao=$vlremprestimo*$coeficiente; $vlrfinal=$vlrprestacao*$qtdeparcela; $juros=$vlrfinal-$vlremprestimo; echo"<p> Resumo da Operação do Cliente </p>"; echo "<p> Nome: ".$nome."</p>"; echo "<p> CPF: ".$cpf."</p>"; echo "<p> Valor do Empréstimo: R$ ".number_format($vlremprestimo,2,',','.')."</p>"; echo "<p> Taxa do Empréstimo: ".$taxa."% </p>"; echo "<p> Valor do Juros: R$ ".number_format($juros,2,',','.')."</p>"; $vetor = array(); ?> <table border="1"> <tr> <th>Vencimento</th> <th>Nº de prestações</th> <th>Prestação</th> <th>Acumulado</th> </tr> <?php for ($i=0; $i < $qtdeparcela; $i++) {?> <tr> <td><?php echo $diavenc."/".$arr[]=$i; ?></td> <?php ?> <td></td> <?php ?> <td></td> <?php ?> <td></td> <?php }?> </tr> </table>  
    • By Jeovane Carvalho
      Olá pessoal, estou precisando de um help !
       
      Pois eu tenho uma classe assim:
       
      DadosComboClasse.php
       
      class DadosComboCidades { private $conecta_banco; public function __construct(){ $this->conecta_banco= new Conexao(); $this->conecta_banco->Conectar(); } public $array = array(); public $imoveis_tipo; public $cidade; public $bairro; public $bairro_id2; public $idcidade; public $negocios; public $qtd; public $bairro_id; public $id_cidade; public $id_tipo; public $id_bairro; public $nome_empresa_2; public $nome_empresa_3; public $nome_empresa_4; public $nome_empresa_5; public $titulo_cadastro; public $creci; public $facebook; public $twitter; public $linha_b; public $sloga; public $site; public $sqlT_1; public $sqlT_2; public $sqlT_3; public $sqlT_4; public $row; public $id='1'; function BuscarCidades(){ $result=$this->conecta_banco->banco; $pega_cidade=new ComboCidades();=> instancio os ids ou arrays quando são requisitados tipo assim : finalidade ID:1 Tipo ID:3,9 (array) $pega_cidade->PegarCidadeId(); $ativo='1'; ARRAYS ABAIXO: $this->id_negocio=$pega_cidade->id_negocio; $this->id_tipo=$this->id_cidade=$pega_cidade->id_tipo; $this->id_cidade=$pega_cidade->id_cidade; Acima eu pego os dados do array vindo da pagina combo_cidades.php if($pega_cidade->id_negocio): $negocio_array = explode(",",$pega_cidade->id_negocio); if($pega_cidade->id_tipo): $tipos_array = explode(",", $pega_cidade->id_tipo); if($pega_cidade->id_cidade): $cidades_array = explode(",", $pega_cidade->id_cidade); foreach($negocio_array as $negocio): foreach($tipos_array as $tipos): foreach($cidades_array as $cidades): $sqlT_1 = $result->prepare("SELECT i.id,t.tipo_nome,c.cidade,b.bairro,i.ativo FROM imoveis i LEFT JOIN imoveis_tipo t ON (t.id = i.id_tipo_imovel) LEFT JOIN cidades c ON (c.id = i.id_cidade)LEFT JOIN bairros b ON (b.id = i.bairro) WHERE i.id_tipo_imovel IN ('".$tipos."') AND i.id_cidade IN ('".$cidades."') AND i.ativo=? ORDER BY i.bairro DESC"); $sqlT_1->bind_param('s',$ativo); $sqlT_1->execute(); $this->sqlT_1=$sqlT_1->get_result(); Acima com get_result eu gero os dados que preciso do array abaixo são outras chamadas do sql que vou implementar na solução acima $sqlT_2=$result->prepare("SELECT id, bairro,ativo FROM bairros WHERE id AND ativo=? ORDER BY bairro"); $sqlT_2->bind_param('s',$ativo); $sqlT_2->execute(); $this->sqlT_2=$sqlT_2->get_result(); "'%".$negocio."%'"; $where = " i.ativo =? "; if( $negocio) { $where .="AND i.id_negocio_tipo LIKE ?"; }if( $tipos ) { $where .=" AND i.id_tipo_imovel IN ('".$tipos."')"; } if( $cidades ) { $where .=" AND i.id_cidade IN ('".$cidades."')"; } if($this->bairro_id2) { $where .=" AND i.bairro IN ('".$this->bairro_id2."')"; } $sqlT_3 = $result->prepare("SELECT i.id,i.ativo,n.tipo,b.bairro,t.tipo_nome,c.cidade,i.id_negocio_tipo, COUNT(b.bairro) AS Qtd FROM imoveis i LEFT JOIN negocio_tipo n ON (n.id= i.id_negocio_tipo) LEFT JOIN imoveis_tipo t ON (t.id = i.id_tipo_imovel) LEFT JOIN cidades c ON (c.id = i.id_cidade) LEFT JOIN bairros b ON (b.id = i.bairro) WHERE ".$where." GROUP BY b.bairro HAVING COUNT( b.bairro) > 0 ORDER BY b.bairro "); //EXECUTA A QUERY $conta=$sqlT_3->num_rows(); $sqlT_3->bind_param('ss',$ativo,$negocio); $sqlT_3->execute(); $this->sqlT_3=$sqlT_3->get_result(); endforeach; endforeach; endforeach; endif; endif; endif; } }  
       
      Abaixo a classe combocidades.php
       
      require_once("tags2.php"); //RECEBE PARÃMETRO class ComboCidades{ private $conecta_banco; public function __construct(){ $this->conecta_banco= new Conexao(); $this->conecta_banco->Conectar(); } public $id_negocio; public $id_tipo; public $busca_cidade; public $id_cidade; public function PegarCidadeId(){ function filter( $str ){ return addslashes( $str ); } function getPost( $key ){ return isset( $_GET[ $key ] ) ? filter( $_GET[ $key ] ) : null; } $this->id_negocio = getPost('id_negocio'); $this->id_tipo = getPost('id_tipo'); $this->id_cidade=getPost('id_cidade'); } } class ExibirBairros extends DadosComboCidades{ public function Mostrar(){ extract( $_GET, EXTR_OVERWRITE); $busca_bairro=new DadosComboCidades(); $busca_bairro->BuscarCidades(); $busca_bairro->id_cidade; if($busca_bairro->id_cidade==0): echo "<div class='atencao'></div><div class='atencao_text'>Selecione uma Cidade para pesquisar por Bairros !</div> "."<br />"; endif; echo "<div class='sel'></div>"."<br />"; /* MONTA CRITERIOS DE BUSCA */ //QUERY echo '<br /><div class="botao-modal"><button type="button" class="botao_marcar" title="Todos" id="todos" onclick="marcardesmarcar();">Selecionar Todos</button> </div>'; Aqui onde chamo os array já convertidos pelo foreach na classe DadosComboCidades.php echo'<br /><br /><div style=" font-weight:bold; margin-left:30px;">'.$busca_bairro->imoveis_tipo.' (s) </div>'; echo'<br /><br /><div style=" font-weight:bold; margin-left:30px;">'.$busca_bairro->cidade.'</div>'; echo'<div class="form_modal"><form name="form1">'.'<br /><br />'; echo '<input type="checkbox" id="c'.$bairro.'" class="marcar" value="'.$bairro_id.'" name="bairro[]"/><label for="c'.$bairro_id.'"><span></span></label> '.$bairro.' - '.$cidade.' ('.$qtd.') <br />'; //FECHA IF (row) //PRINTA O RESULTADO if($bairro_id): echo FALSE; else: echo "<div class='atencao'></div><div class='atencao_text'>Não existem imóveis para essa Busca !</div> "."<br />"; echo'</form></div></b><br />'; endif; } } Abaixo onde istancio e chamo a classe DadosComboCidades $f=new ExibirBairros(); $f->Mostrar(); RESUMINDO:
       
      O que acontece é que eu não consigo pegar o array no seu índice, ou seja , por exemplo se o id tipo for ID: 1 rola beleza a busca  e a impressão dos dados mas se eu for buscar 2 informações no mesmo id tipo , assim => ID: array(5,9) , na outra página só consigo pegar o último id em vez de buscar 5,9 só busca o 9, por eu estar acessando o array de outra página , e pelo que entendi , acessando o array de outra página ele só percorre o último em vez do índice.
      Mas se eu jogar todo código dentro da classe ai roda beleza , mas não quero misturar objeto com html (isso é má prática na programação), por isso estou remodelando meu código em POO
      Se alguém tiver uma solução eu agradeço  .  :)
    • By Leandro Volanick
      Boa tarde pessoal.
       
      Gostaria de uma ajuda em uma consulta sql, onde quero agrupar os todos produtos comprados pelo mesmo CPF, dentro de uma array. 
       
      Segue o que estou usando:
      $data=mysqli_query($mysqli, "SELECT xml.id, xml.xProd as produto, prod.id as iddoproduto, GROUP_CONCAT( prod.xProd ) FROM produtos AS prod LEFT JOIN xml as xml ON xml.xProd = prod.xProd GROUP BY xml.CPFdest"); while($info=mysqli_fetch_array($data)) echo '['.$info['iddoproduto'].'],'; No momento, o codigo está trazendo apenas 1 produto, quero que ele printe todos produtos que o CPFdest já comprou.
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.