Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Angelo

str_replace

Recommended Posts

Gostaria de saber se existe uma maneira de usar o str_replace de forma que ele generaliza-se o caso:Por exemplo:estou buscando uma determinada string:str_replace($string, "<b>teste</b>", $string), sendo que a $string buscada por contar váriações, digamos que a palavra seja casa, ela pode estar da seguinte maneira casa, Casa, CASA, etc.Será que tem como fazer o str_replace ignorar essas diferenças de caracteres.ObrigadoLuiz

Compartilhar este post


Link para o post
Compartilhar em outros sites

ixi.. ninguem respondeu o seu outro topico....tb to curioso em saber como resolver coisas dessa forma....que tb to precisando de algo pra implementar assim no meu chat nos palavroes do povo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos,

 

uma maneira que eu resolvo isso, é na hora da verificação de algo digitado, eu converto uma string para maiúsculas utilizando a função strtoupper() do próprio PHP, daí faço as comparações necessárias e depois repasso o que desejo B)

 

Até mais e espero ter ajudado,

Renato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

use preg_match() => busca pela palavra e retorna true ou falsepreg_replace() => busca pela palavra e faz a troca

como que eu uso esse preg_replace()???que to tentando fazer da mesma forma do str_replace().. mas naum tah funcionando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelas respostas, mas minha dúvida ainda não foi sanada, oque acontece é o seguinte eu preciso saber se tem algum parametro que eu posso usar junto com o str_replace, ou outra função que quando ele faça a busca de uma determinada string dentro de outra ele ignore se é maíuscula, minúscula, etc.Seria mais ou menos um parametro parecido com a busca LIKE%$string%.ObrigadoLuiz

Compartilhar este post


Link para o post
Compartilhar em outros sites

wolfphw você precisa entender ER (Expressoes Regulares)

 

http://guia-er.sourceforge.net/guia-er.html

 

Luiz Angelo com ER resolve seu problema ou para coisas simples:

 

http://br.php.net/str_ireplace

 

para mais complexas:

 

http://br.php.net/manual/pt_BR/function.preg-replace.php

http://br.php.net/manual/pt_BR/ref.pcre.php

http://br.php.net/manual/pt_BR/reference.p...n.modifiers.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw Fabyo, vou dar uma estuda nos links que você me passou, mas desde já agradeço pela ajuda.AbraçosLuizPs: Se conseguir resolver estarei postando a resposta para que outras pessoas possam aproveita-lá

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw.. to lendo agora memso esse negocio do ER

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá vai eu denovo, é o seguinte, pelo que eu entendo essa função só existe no php 5, e se eu estiver usando uma versão anterior, existe alguma função parecida?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa isso aki... eu rodei no PHP 4 e funcionou certinho...

 

echo eregi_replace("casa", "<strong>casa</strong>", "Eu fui na CASA de João");

 

Tem uma coisa legal tb....

 

Digamos que você queira colocar * onde você achar uns determinados caracteres.... que ficam entre a sequencia de A ateh F

 

você coloca assim...

 

echo eregi_replace("[A-F]", "*", "Eu fui na CASA de Joao");

Ele mostra *u fui na **S* ** Jo*o

 

Caso você tenha colocado João com acento ele naum vai pegar esse ã

Compartilhar este post


Link para o post
Compartilhar em outros sites

só umas dicas ereg_x, preg_x sao funções para usar com ER

 

e outra coisa preg_x é muito mais rapido que usar ereg_x entao para usar o exemplo acima com preg só colocar o modificador i que ele ira ignorar maiusculas e minusculas

 

exemplo:

 

echo preg_replace("#(casa)#i", "\\0", "Eu fui na CASA de João");

 

recomendo a vcs estudarem a fundo sobre ER, é uma mini linguagem poderosa e muito util

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu poderia fazer isso, existe algum manual onde eu possa dar uma olhada?

só umas dicas ereg_x, preg_x sao funções para usar com ERe outra coisa preg_x é muito mais rapido que usar ereg_x entao para usar o exemplo acima com preg só colocar o modificador i que ele ira ignorar maiusculas e minusculasexemplo:echo preg_replace("#(casa)#i", "<strong>\\0</strong>", "Eu fui na CASA de João");recomendo a vcs estudarem a fundo sobre ER, é uma mini linguagem poderosa e muito util

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe eu me refiro ao manual de como alterar uma função já existente.pois gostaria de alterar a função str_replace existente no php4 para a função str_ireplaceObrigadoLuiz

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao isso nao existe em manual, é só você recriar a função usando sua logica

 

mas no caso simples do str_ireplace(), você pode usar ER que funciona normal no php4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo, apesar de ter lido as ER, ainda não achei uma que ignorasse o case sensitive, existe alguma que faça essa abstração?Pois existe uma parte no tutorial só para isso, mas lá só mostram tratamentos com strings e não com variáveis.por exemplo a letra x pode se usar [xX] e no caso de uma variável?

entao isso nao existe em manual, é só você recriar a função usando sua logicamas no caso simples do str_ireplace(), você pode usar ER que funciona normal no php4

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.