Ir para conteúdo

POWERED BY:

Arquivado

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

rafanevesjau

[RESOLVIDO] ereg_replace com espaço na string

Recommended Posts

[RESOLVIDO]

Olá, Estou com uma dúvia que não achei resposta em nenhum lugar.

Sempre uso a função ereg_replace e eregi_replace, mas estou precisando fazer o seguinte e não está dando certo.

Preciso procurar 2 textos praticamente iguais. A única diferença entre eles é que um começa com espaço.

Eu sei que tem uns esquemas com parenteses, chaves e colchetes, mas não achei em nenhum lugar explicando como usar cada um destes ítens.

Alguém sabe como isso funciona?

O que eu estou fazendo é o seguinte:

$var=ereg_replace(" Menor_que", "Quando o tamanho (em bytes) for menor que", $var);	$var=ereg_replace("Menor_que", " e o tamanho (em bytes) for menor que", $var);

Reparem que a diferença entre as 2 strings de procura é somente o espaço no começo... Já tentei várias combinações com caracteres especiais e não funciona...Já tentei até trocar o espaço por [:space:] e não deu certo.

 

Alguém pode me ajudar, por favor???

 

Muito Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

$var = preg_replace("/( )?Menor_que/", "Quando o tamanho (em bytes) for menor que", $var);

Troquei ereg por preg pois, segundo o próprio Manual, esse tipo de função é mais veloz.

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Beraldo,

 

Obrigado pelas dicas,

mas quando eu fui testar o que você me passou, o preg_replace ignora o espaço. Mesmo quando o termo que eu procuro está no início da frase (sem espaço antes) ele troca o texto como se tivesse espaço.

Exemplo de como ficou meu código:

$var=preg_replace("/( )?Menor_que/", " e o tamanho (em bytes) for menor que", $var);   $var=preg_replace("/Menor_que/", "Quando o tamanho (em bytes) for menor que", $var);

Mesmo quando ele encontra o termo "Menor_que" no início da frase, ele troca por: e o tamanho (em bytes) for menor que. (ps: eu dou um trim na $var antes de fazer as comparações)

 

Se não for pedir muito, tem como você me passar os operadores-padrão do preg_replace (pra que serve, os parenteses, as chaves, colchetes, barras, etc)

 

Muito obrigado

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO]

 

Muito obrigado Beraldo (santo Fórum!)

 

(Para consulta)

Meu código ficou assim:

$var=preg_replace("/( )+Menor_que/", " e o tamanho (em bytes) for menor que", $var);   $var=preg_replace("/Menor_que/", "Quando o tamanho (em bytes) for menor que", $var);

A única mudança foi a substituição do ( )? para ( )+

 

Muito obrigado pela ajuda.

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.