Kimura 0 Denunciar post Postado Maio 21, 2010 Olá, Estou gerando arrays com valores mais ou menos assim: sar_3,cur_40,cur_41,cur_115,dar_56,aar_57 Quero eliminar todos os valores que não possuem o prefixo cur_, ou seja, aar_x | dar_x | sar_x, somente deixando os cur_x. Não sei se este início de preg_replace está correto? (\w+)_(\d+)(\,?) Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Kimura 0 Denunciar post Postado Maio 21, 2010 Uma possível solução seria esta. preg_replace('/(aar|dar|sar)_(\d+)(\,?)/', '', 'sar_3,cur_40,cur_41,cur_115,dar_56,aar_57'); Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 21, 2010 Veja uma solução sem utilizar expressão regular: <?php function remove_items( &$array ) { $size = count( $array ); for( $i = 0; $i < $size; ++$i ) { if ( substr( $array[$i], 0, 4 ) != 'cur_' ) { unset( $array[$i] ); } } } $array = array( 'sar_3', 'cur_40', 'cur_41', 'cur_115', 'dar_56', 'aar_57' ); remove_items( $array ); print_r( $array ); ?> Compartilhar este post Link para o post Compartilhar em outros sites