-rafael- 1 Denunciar post Postado Setembro 23, 2010 ola a todos como faço para eliminar itens do array, seguindo uma determinada regra??? a regra seria itens com comprimento <= 2. ex: $nome = 'jose da silva'; $arr = explode(' ', $nome); /* entao fica $arr['1'] = 'jose'; $arr['2'] = 'da'; $arr['3'] = 'silva'; */ no caso quero eliminiar o a peça 'da' do 'jose da silva'. obs: nao tem nada haver com a posição do array, e sim com o comprimento de cada item. obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Setembro 23, 2010 <?php var_dump( preg_replace( '/\s?\b\w{2}\b/' , null , 'José da Silva' ) ); Saída: string(11) "José Silva" ;) Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Setembro 23, 2010 ok tecnicamente resolveu meu problema. mas teria como fazer isso depois de ja ter transformado a string em array??? no mais, muito obrigado pela ajuda, um dia ainda aprendo a dominar ERs como você!!! rss Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Setembro 23, 2010 http://forum.imasters.com.br/public/style_emoticons/default/seta.gif array_filter() <?php function filtro( $part ){ return strlen( $part ) > 2; } $nome = 'jose da silva'; $parts = array_filter( explode( ' ' , $nome ) , 'filtro' ); var_dump( $parts ); Saída: array(2) { [0]=> string(4) "jose" [2]=> string(5) "silva" } Dando implode: <?php function filtro( $part ){ return strlen( $part ) > 2; } $nome = 'jose da silva'; $nome = implode( ' ' , array_filter( explode( ' ' , $nome ) , 'filtro' ) ); var_dump( $nome ); Saída: string(10) "jose silva" Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Setembro 24, 2010 muito obrigado resolvido!!! Compartilhar este post Link para o post Compartilhar em outros sites