Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ramael

Procurar palavra em site

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.