Skin_ Postado Novembro 6, 2007 Denunciar Share Postado Novembro 6, 2007 (editado) Olá pessoal,Sei que a função preg_replace($s1, $s2, $string) substitui todas as ocorrências de $s1 em $string por $s2. Assim, a função preg_replace("/\s+/", " ", $string) irá substituir quais caracteres por um espaço em branco? Aproveitando o ensejo, pergunto outras coisas: 1) qual a função dos colchetes [] no código: $retorno[] = $string[0]; É a mesma coisa que fazer: $retorno = $string[0]; OBS: $retorno é um array. 2) o que faz esta função: preg_match("/^([dn]?[aeiou][s]?|em)$/i", $string)Acho que meu problema é com "expressões regulares". Onde posso aprender mais sobre elas?Valeu!Skin_ Editado Novembro 6, 2007 por Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 6, 2007 Denunciar Share Postado Novembro 6, 2007 \s significa espaço em branco, + permite que existam "vários" espaços em branco, ou seja, o que isso dai faz é converter 'N' espaços em branco, em apenas 1...preg_match("/^([dn]?[aeiou][s]?|em)$/i", $string) Isso dai vai procurar palavras que comecem com 'd' ou 'n', logo após tenham 'a','e','i','o','u' e que podem ter ou não no final 's' OU ( -> | ) por 'em'... Estude ER -> http://guia-er.sourceforge.net/ Quanto a sua outra dúvida, pense um pouco baseado no código abaixo: <?php $palavra = array(); $palavra = "AAAA"; $palavra = "BBBB"; $palavra = "CCCC"; $palavra = "DDDD"; $palavra = "EEEE"; $palavra = "FFFF"; print_r($palavra); echo "<BR><BR><BR><BR>"; $palavra = array(); $palavra[] = "AAAA"; $palavra[] = "BBBB"; $palavra[] = "CCCC"; $palavra[] = "DDDD"; $palavra[] = "EEEE"; $palavra[] = "FFFF"; print_r($palavra); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Skin_ Postado Novembro 7, 2007 Autor Denunciar Share Postado Novembro 7, 2007 Obrigado ESerra,Sua explicação solucionou minhas dúvidas, com exceção de uma:Entendi o significado de \s e + na expressão abaixo, mas até agora não entendi os significados de "/ e /" preg_replace("/\s+/", " ", $string) As mesmas barras invertidas aparecem na expressao regular da função preg_match("/^([dn]?[aeiou][s]?|em)$/i", $string)Seriam barras de escape? Mas para escapar o que?Valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 7, 2007 Denunciar Share Postado Novembro 7, 2007 Se você tivesse clicado no link que eu te passei, em primeiro lugar descobriria que o que escapa alguma coisa é a barra -> \ e não a barra -> /...Aquilo ali simplesmente demarca o começo e o fim da ER... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Skin_ Postado Novembro 8, 2007 Autor Denunciar Share Postado Novembro 8, 2007 (editado) Se você tivesse clicado no link que eu te passei, em primeiro lugar descobriria que o que escapa alguma coisa é a barra -> \ e não a barra -> /...Aquilo ali simplesmente demarca o começo e o fim da ER...Pô ESerra,eu cliquei no link que você mandou, inclusive já tinha dado uma olhada no livro sobre ER. Só fiz a pergunta no forum porque, em outros materiais que li, não ví necessidade de marcar o início e o fim das ER's com -> /....Mesmo assim, obrigado pelo tempo gasto em me responder! Ajudou muito!Skin_ Editado Novembro 8, 2007 por Skin_ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Skin_
Olá pessoal,
Sei que a função
substitui todas as ocorrências de $s1 em $string por $s2. Assim, a função irá substituir quais caracteres por um espaço em branco? Aproveitando o ensejo, pergunto outras coisas: 1) qual a função dos colchetes [] no código: É a mesma coisa que fazer: OBS: $retorno é um array. 2) o que faz esta função:Acho que meu problema é com "expressões regulares". Onde posso aprender mais sobre elas?
Valeu!
Skin_
Editado por Skin_Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.