Jump to content
Tiagotdg

replace

Recommended Posts

Boa tarde, tenho uma duvida e gostaria da ajuda de vocês.

 

tenho uma string que contem $string='

 
<div dir="ltr">
<p><span style="color:#0c4685">. Seguro de Vida por Morte Acidental - %%beneficio%%<br>
. Seguro Invalidez por Acidente - %%beneficio%% <br>
. Auxílio Funeral - R$ %%Valor1%%<br>
. Despesas Médicas e odontológicas - R$ %%Valor2%%<br>
. Assistência Residencial<br>
. Sorteio Mensal: R$ %%Valor3%%<br>
. Desconto em medicamentos de 5% a 70% <br>
. Cesta Básica 6 mensalidades de R$ 120,00 </span><br>
<span style="color:#0c4685">.</span><span style="color:#0c4685"> Assistencia juridica</span></p>
<br>
</div>

 

';

 

Preciso subistituir o que esta entre  %%o que esta aqui%% pelo valor de uma  variavel ex:

%%beneficio%% ='159753'
%%Valor1%% = 1;
%%Valor2%% = 3

 

e assim por diante, eu recebo essa variáveis do banco de dados e devo substitutivas no texto.


se alguém puder ajudar eu agradeço. 

 

Share this post


Link to post
Share on other sites
21 horas atrás, tetsuo disse:

Olá! Use str_replace: http://php.net/manual/pt_BR/function.str-replace.php

ex.:


$string = str_replace('%%beneficio%%', $beneficio_do_database, $string);

 

Vlw pela ajuda mas dessa forma eu teria que passar todas a variáveis, eu gostaria de uma forma mais flexível, talvez por uso de expressão regular, nesse caso, eu teria que percorrer toda string e substituir tudo que estiver por %%VARIAVEL%% 

por um array $substituir = array(

$variavel => 'nome', 

$variavel => 'nome2'

);

 

e assim por diante, a forma que passou usando replace fica muito trabalhoso. 

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 usuario181474618518
      Bom dia a todos! 
       
      Estou iniciando em PHP, então talvez isso seja uma pergunta burra. Estou utilizando uma plataforma que fornece um array de categorias como digitado abaixo, e minha ideia é fazer uma busca no conteúdo por essas categorias, e substituir elas por outro array, que no caso terá as mesmas categorias, no entanto, com links. Veja:
      $conteudo = "Meu conteúdo Filmes Laranja e Verde. Blackout."; $from = array( 0 => "Laranja", 1 => "Azul", 2 => "Vermelho", 3 => "Verde", 4 => "Black" ); $to = array( 0 => "<a href='#laranja'>Laranja</a>", 1 => "<a href='#azul'>Azul</a>", 2 => "<a href='#vermelho'>Vermelho</a>", 3 => "<a href='#verde'>Verde</a>", 4 => "<a href='#ver'>Black</a>" ); $novoconteudo = strtr($conteudo, array_combine($from, $to)); echo $novoconteudo;  
      O máximo que conseguir fazer foi usando strtr, no entanto acaba fazendo algumas substituições "burras", como por exemplo adicionar link em "Black" quando na verdade a palavra é "Blackout". Acredito que para resolver isso, deveria ser feito com preg_replace, porém já tentei e não consegui. Alguém pode me ajudar?
       
      Veja: http://sandbox.onlinephpfunctions.com/code/e7cfd27ea182041de0519df3ed22bedc93cda18b
    • By FabianoSouza
      Olá pessoal. Tenho uma base com uns 5.000 registros.
      Quero fazer um código para aplicar acento em nomes que foram gravados sem sua respectiva acentuação.
       
      Parte 1
      Até consegui montar uma código para testes usando UPDATE e replace.
      Mas da forma como criei, se peço para acentuar a string Jose, acaba acentuando também Josevaldo (pois ambos tem a string "jose")
      Preciso de um código que pegue cada parte do nome  (primeiro nome, nome do meio e último nome) da pessoa e verifique se há o valor passível de aplicar a acentuação.
       
      Exemplo:
      Jose Amancio dos Santos - teria que aplicar acento no Jose e em Amancio.
      Josevaldo Pires Silva - não deve aplicar acento em Josevaldo
       
       
      Parte 2
      Como isso será uma rotina, quero ter um "dicionário" de nomes gravados da forma correta (acentuados) para serem usados na rotina de que aplicaria a acentuação.
      Queria ver sugestões de como montar esse "dicionário". Seria um array? Seria ler uma tabela?
       
       
      Podem ajudar?

      Valew!
       
    • By FabianoSouza
      Pessoal, to apanhando para criar uma function para remover a última vírgula que aparece na string chamada beneficios.
      Estava tentando isso:
      ... REVERSE(STUFF(REVERSE( ---------------------------------- CASE WHEN valeTransporte = '1' Then 'Vale-transporte,' ELSE '' END + CASE WHEN valeRefeicao = '1' Then 'Vale-refeição,' ELSE '' END + CASE WHEN seguroDeVida = '1' Then 'Seguro de vida,' ELSE '' END ---------------------------------- ), 1, 1, '')) AS 'beneficios' ... O problema é que nem sempre haverá string para ser tratada, aí o campo aparece como NULL e gera problema na hora de gerar um JSON pela aplicação.
      Preciso de uma function que previna a situação de não haver string, e retorne valor vazio (não NULL).
       
      Valew!
       
    • By Rui PG
      Boa tarde, Pessoal"
       
      Sou iniciante em SQL, em uma tabela do nosso BD tempos um campo que possui o registro com as informações do paciente concatenado com uma serie de valores que não precisamos.
      Como eu faço, para montar uma select para extrair desse registro apenas o que está entre aspas?
       
      O meu registro está assim:
      a:28:{i:18;s:13:"Sérgio silva";i:19;s:11:"1199900001";i:20;s:0:"n/i";i:21;s:0:"n/i";i:23;s:15:"Amil One Health";i:24;s:0:"n/i";i:27;s:0:"n/i";i:31;s:1:"2";i:32;s:0:"n/i";i:33;s:1:"2";i:34;s:0:;}
       
      Eu preciso dele assim:
      "Sérgio silva";"1199900001";"n/i";"n/i";"Amil One Health";"n/i";"n/i";"2";"n/i";"2";
       
      Observação, esses monte de valores a:28: ...etc... eles mudam, não são valores fixos, se fossem até usaria o replace, mas são vários valores.
       
      Depois que eu chegar nessa mineração: "Sérgio silva";"1199900001";"n/i";"n/i";"Amil One Health";"n/i";"n/i";"2";"n/i";"2";
      Como eu faço para alocar cada valor em campo campo qualquer, pode ser uma tabela temporária, tipo assim:
       
      |nome           |campo 1        |Campo 2 |Campo 3 |Campo 4               |Campo  5 | .....
      |Sérgio silva|1199900001|n/i              |n/i              |Amil One Health|n/i               |n/i|2|n/i|2| .....
       
      Muito obrigado amigos
       
       
       
       
       
       
    • By ricardosac
      Boa tarde!
       
      Alguém possa me ajudar a resolver o problema de como remover acentuação e espaços.
       
      Ao selecionar estado Alagoas e cidade Barra de São Miguel, retorna assim Barra de São Miguel.html e que deveria ser substituído por barradesaomiguel.html.
      Segue abaixo:
       
      <div id="wrap">
                <form name="myForm" action method="post">
                <select class="selcls" name="estados" onchange="updateModels(this.form)">
                  <option>Selecione estado</option>
                  <option>Acre</option>
                  <option>Alagoas</option>

                  </select> <select class="selcls" name="cidades"></select>
                  <input id="B1" type="button" value="Ok" class="btn btn-primary">
                </form>
              </div>

              <script type="text/javascript">
              var cidades = [];
             cidades.Acre = ['Rio Branco','Acrelândia','Assis Brasil','Brasiléia','Bujari','Capixaba','Cruzeiro do Sul','Epitaciolândia','Feijó','Jordão','Mâncio Lima','Manoel Urbano','Marechal Thaumaturgo','Plácido de Castro','Porto Acre','Porto Walter','Rodrigues Alves',  'Santa Rosa do Purus','Sena Madureira','Senador Guiomard','Tarauacá','Xapuri'];
             cidades.Alagoas = ['Maceió','Água Branca','Anadia','Arapiraca','Atalaia','Barra de Santo Antônio','Barra de São Miguel','Batalha','Belém','Belo Monte','Boca da Mata','Branquinha','Cacimbinhas','Cajueiro','Campestre','Campo Alegre','Campo Grande','Canapi','Capela','Carneiros','Chã Preta','Coité do Nóia','Colônia Leopoldina','Coqueiro Seco','Coruripe','Craíbas',  'Delmiro Gouveia','Dois Riachos','Estrela de Alagoas','Feira Grande','Feliz Deserto','Flexeiras','Girau do Ponciano','Ibateguara','Igaci','Igreja Nova','Inhapi','Jacaré dos Homens','Jacuípe','Japaratinga','Jaramataia','Jequiá da Praia','Joaquim Gomes','Jundiá','Junqueiro','Lagoa da Canoa','Limoeiro de Anadia','Major Isidoro','Mar Vermelho','Maragogi','Maravilha','Marechal Deodoro','Maribondo','Mata Grande','Matriz de Camaragibe','Messias','Minador do Negrão','Monteirópolis','Murici','Novo Lino','Olho d\'Água das Flores','Olho d\'Água do Casado','Olho d\'Água Grande','Olivença','Ouro Branco','Palestina','Palmeira dos Índios','Pão de Açúcar','Pariconha','Paripueira','Passo de Camaragibe','Paulo Jacinto', 'Penedo','Piaçabuçu','Pilar','Pindoba','Piranhas','Poço das Trincheiras','Porto Calvo','Porto de Pedras','Porto Real do Colégio','Quebrangulo','Rio Largo','Roteiro','Santa Luzia do Norte','Santana do Ipanema','Santana do Mundaú','São Brás','São José da Laje','São José da Tapera','São Luís do Quitunde','São Miguel dos Campos','São Miguel dos Milagres','São Sebastião','Satuba','Senador Rui Palmeira','Tanque d\'Arca','Taquarana','Teotônio Vilela','Traipu','União dos Palmares','Viçosa'];
              // ---
              function updateModels(theForm) 
               { if(theForm.estados.selectedIndex<1){return false; }
                 var op=theForm.estados.options;
                 var newModels = cidades[op[op.selectedIndex].value];
                 theForm.cidades.options.length = 0;
                 theForm.cidades.options[0] = new Option("Selecione cidade", "");
                 theForm.cidades.options[0].selected = true;
                 for (var i=0; i<newModels.length; i++) 
                 { theForm.cidades.options[i+1] = new Option(newModels, newModels); }  
               }
              // ---
              // check both selections have been made
               document.getElementById("B1").onclick=function(event)
                { event=event || window.event;
                  var targElem = event.target || event.srcElement;
                  var thisForm=targElem.parentNode;
                  if(thisForm.estados.selectedIndex>0 && thisForm.cidades.selectedIndex>0)
                    { var cidadesP= thisForm.cidades;
                            location.href= cidadesP[cidadesP.selectedIndex].value+".html"; }
                      else { return false; } 
                }

              </script>
×

Important Information

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