Jump to content


Photo

Preg_replace


  • Faça o login para participar
5 replies to this topic

#1 Diogo a

Diogo a

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 17/04/2007, 12:53

Olá Pessoal,

será que alguem poderia me dar uma dica sobre preg_replace?

achei bem legal a função preg_replace... eu estou tentando fazer com que ele "arrume" umas strings como por exemplo:

$contents = 'Testando3Testando';
$contents = preg_replace("/([0-9])/","",$contents);

ou seja contents vai retornar TestandoTestando sem o numero.
alguem sabe me dizer como eu faço pra ele apagar tudo que está depois do numero?

ou seja contents vai retornar Testando ao invez de TestandoTestando.

Muito Obrigado

ps: eu tentei preg_replace("/([0-9])*/","",$contents); mas ficou erraddissimo...

#2 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/04/2007, 20:28

Eu não sou muito bom em ER mas vamos tentar...

Você precisa que seja apresentados apenas letras então

[a-zA-Z]

ou

[^0-9]


Falopa!

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 17/04/2007, 21:06

Não seria melhor você usar split()?

Mas respondendo com a expressão regular, você teria que casar com todo resto. E isso você faria com o ponto seguido de um quantificador. E como o ponto normalmente não casa com newlines, você teria que usar também o modificador s, para tornar Singleline.

Exemplo:
/\d.*/s

Mas volto a frisar, com esse intuito, usar split() com os 3 argumentos parece bem melhor.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/04/2007, 21:32

Mas respondendo com a expressão regular, você teria que casar com todo resto. E isso você faria com o ponto seguido de um quantificador. E como o ponto normalmente não casa com newlines, você teria que usar também o modificador s, para tornar Singleline.

:o :o MESTRE ECLESIASTES :D

Falopa!

Edição feita por: hostdesigner, 18/04/2007, 14:20.


#5 Diogo a

Diogo a

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 18/04/2007, 10:33

Valeu pela ajuda pessoal!
@Eclesiastes
eu sou muito novo em programação php e fiquei boiando em coisas do tipo expressão regular e qualificador que você falou hahaha =\

@hostdesigner
Você quase pegou a minha idéia, de fato sim quero tirar o numero mas alem disso tudo que vem a direita do numero
exemplo
Teste9Formata

será exibido somente
Teste
o numero 9 e tudo que vem depois é retirado...

Edição feita por: Diogo a, 18/04/2007, 10:35.


#6 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 18/04/2007, 10:44

eu sou muito novo em programação php e fiquei boiando em coisas do tipo expressão regular e qualificador que você falou hahaha =\


Isso você pode aprender em http://guia-er.sf.net (y)

----

Por exemplo:

list($str) = split('[0-9]', 'Teste5Teste', 2);

print $str;

Ou:

print preg_replace('/\d.*/s', '', 'Teste5Teste');

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq