Jump to content


Photo

Expressao Regular


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

#1 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

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

Posted 20/01/2006, 14:24

pessoal eu tenho um array q tem indices de 0 a 26...

eu preciso de uma ER q faça o seguinte... q pegue o indice corrente, verifique se ele esta entre 1 e 9..se estiver ele coloca 01 por exemplo...ou seja...q coloke esse 0(zero)antes..01,02,03,04,05,06,07,08,09,10,11,...26...


so q nao saka quase nada de ER...alguem pode ajudar?

ah...e ele passaria por um if ...

$var = 1;

if(expressao regular viu q esta entre 1 e 9):
$var = valor com 0 na frente
endif;

Edição feita por: gonacts, 20/01/2006, 14:26.

"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#2 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 20/01/2006, 14:26

tem que ser com ER?
não pode ser com if?
if($num < 10)
    $num = "0".$num;

Até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#3 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

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

Posted 20/01/2006, 14:29

boa....nem pensei nisso...

mas em er ficaria como?!
queria aprender um poko de er sei la...n sako mto...nesse caso ficaria como?
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 20/01/2006, 14:30

Nem de if precisa ... ^_^

Use printf() ou sprintf(), dependendo do caso ... ;)

<?php

$number = rand(1, 100);

// Antes

print $number;

// Depois

printf('%02d', $number);

?>
[]’s :DAté mais

#5 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 20/01/2006, 14:31

Hehe, boa pergunta como ficaria.
Mas acho que
if( !ereg(0-9, $num)
    $num = "0".$num;

Mas acho que nem funciona... hehehe
Não manjo muito de ER
Site: GustavoPaes.net

^ Rumo ao Topo ^

#6 ViM

ViM

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado
  • Localidade:SJC / SP

Posted 20/01/2006, 14:38

if(ereg("[0-9]", $num)
$num = "0".$num;
acho q ficaria assim... hehe
falow

Edição feita por: ViM, 20/01/2006, 14:38.


#7 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 20/01/2006, 14:56

Use printf() ou sprintf(), dependendo do caso ...


Um... ótima solução ;)
Até
Site: GustavoPaes.net

^ Rumo ao Topo ^

#8 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 20/01/2006, 14:57

Em ER, ficaria assim:
<?php

$number = rand(1, 100);

print ereg_replace('^[0-9]$', '0\\0', $number);

?>
Caso a ER não seja suprida, nada é trocado. O \\0 refere-se ao número capturado pela ER. ;)

[]’s :DAté mais




1 user(s) are reading this topic

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

IPB Skin By Virteq