Evandro Oliveira 331 Denunciar post Postado Dezembro 11, 2014 Em 10/12/2014 at 17:37, Ramael disse: HÁ! Tenho que dizer que estou me sentindo o Daniel San aqui nesse post, maaaaas... "Consegui!!!" (entre aspas mesmo). Daquele primeiro array feito com o preg_match_all, consegui separar os resultados que quero com o array_filter e o preg_match naquela função callback e aí tome ER novamente!! Fui fazendo como o Evandro disse, testando os pontos do array_filter até "entender". Está ficando bacana, mas ainda estou me batendo com a ER pra não pegar e-mail. LOL Isso aqui não deveria pegar tudo que não tivesse arroba pelo meio?? $padrao = "/.*?[^@].*?/"; Deveria, e é a mesma coisa que isso aqui: [inline]/[^@]*/[/inline] A questão é se você deseja ou não usar os resultados casados ou você apenas quer testar uma ER. Veja, como nós não especificamos delimitadores de início/fim, um email "casa" com esta expressão, mas não o email completo. Se você envolvesse a ER num grupo, o resultado não seria o email inteiro, e sim tudo que viesse antes da arroba. para verificar se existe a arroba na string inteira é simples: [inline]/@/[/inline]. Verificar se ela não existe pode ser feita delimitando a ER anterior ([inline]/^[^@]*$/[/inline]) ou verificando se o retorno de [inline]preg_match("/@/", $string);[/inline] é falso. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 11, 2014 Citar mas ainda estou me batendo com a ER pra não pegar e-mail.vc não precisa necessariamente fazer essa verificação com ER. Segue algorítimo novamente: -> ER casa TODAS as tags <a> -> .map() faz a separação do que era link do que é email pronto, acabou. Compartilhar este post Link para o post Compartilhar em outros sites
Ramael 0 Denunciar post Postado Dezembro 11, 2014 Obrigado mais uma vez pessoal. Evandro, era isso mesmo. Colocando o inicio e o fim, funcionou direito. Mas achei estranho não ter funcionado do outro jeito. Li todo aquele guia de regex do Aurélio e não entendi porque não estava rolando. William, o array_map não faz a mesma coisa que o array_filter?! Pelo que li no manual do PHP, é a mesma coisa, eu não consegui perceber diferença. Há diferença? Valeu pessoal. Agora vou ver se consigo incrementar um pouco mais meu programinha. Compartilhar este post Link para o post Compartilhar em outros sites