Uma função bastante versátil no PHP é a função str_replace(). Normalmente utiliza-se a mesma para fazer substituição de strings, mas esta função aceita vetores como parâmetros também, tornando seu uso bastante abrangente. O uso da função str_replace() vai desde a trivial substituição simples em uma string, como indicado no programa a seguir, que substititui a palavra 'Senado' por 'Camara' dentro da variável $string:

  1. <?php
  2. $string 'Senado aprova projeto que libera governo para gastar R$ 62 bilhões';
  3. $nova   str_replace('Senado''Camara'$string);
  4. var_dump($nova);
  5. // string(67) "Camara aprova projeto que libera governo para gastar R$ 62 bilhões"
  6. ?>


No uso seguinte, estamos utilizando dois vetores ($origens, $destinos) para realizar as substituições em $string. Neste caso, os vetores funcionam como um mapeamento de substituições (bold=>negrito, italic=>italico, ...). Cada posição no vetor de origem é substituída por sua correspondente no vetor de destino.

  1. <?php
  2. $string 'Este texto demonstra a utilização do bold, italic e underline';
  3. $origens  = array('bold''italic''underline');
  4. $destinos = array('negrito''itálico''sublinhado');
  5. $nova     str_replace($origens$destinos$string);
  6. var_dump($nova);
  7. // string(69) "Este texto demonstra a utilização do negrito, itálico e sublinhado"
  8. ?>



No terceiro uso da função str_replace(), estamoos utilizando vetores em todos parâmetros. Neste caso, os dois primeiros parâmetros possuem a função de indicar as origens e destinos das substituições, formando um mapa de substituições (bold=>negrito, italic=>italico, ...). Já o terceiro parâmetro, agora é um vetor ($tags). Neste caso, a str_replace() percorre este vetor, realizando substituições em cada uma de suas posições.

  1. <?php
  2. $tags[] = 'este texto está bold';
  3. $tags[] = 'este texto está italic';
  4. $tags[] = 'este texto está underline';
  5. $origens  = array('bold''italic''underline');
  6. $destinos = array('negrito''itálico''sublinhado');
  7. $nova     str_replace($origens$destinos$tags);
  8. print_r($nova);
  9. /*
  10. Array
  11. (
  12.     [0] => este texto está negrito
  13.     [1] => este texto está itálico
  14.     [2] => este texto está sublinhado
  15. )
  16. */
  17. ?>


Legal né ?


Comentários

Guilherme Billig: Muito bom, aqui é bem mais fácil de entender do que no php.net.
Obrigado!!!
Denis Souza: você resolveu o meu problema valeu :D
Marcello Patto: Muito bom!
Moacir Führ: Valeu, me ajudou bastante.
 


Você precisa realizar login pelo Facebook para enviar posts, comentários, apagar posts ou baixar posts em PDF. Para isso, clique no botão "Login no facebook".



Receba os posts por email: (?)

Conheça o Adianti Framework para PHP:

  • Desenvolvimento com componentes;
  • Formulários e datagrids.
  • Versão Web e Desktop (Gtk);
  • Multiplataforma;
  • Desenhe as interfaces;
  • IDE própria (Adianti Studio).
Ver detalhes...

Tenha mais produtividade com:

Adianti Studio: IDE para PHP

  • Leve e rápido;
  • Syntax highlight;
  • Gerência de projetos;
  • Navegação em banco de dados;
  • Autocomplete e plugins.
Mais informações...