Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Buenas! Eu tenho uma página cheia de e-mails que preciso colocá-los num banco.
Pra isso, eu preciso montar uma funçãozinha em PHP que localiza esses e-mail no meios de outros conteúdos. A ideia era abrir o codigo fonte da página, pesquisar o conteudo desejado e finalizar com as treta do banco de dados. Porém, como irei localizar certinho os e-mails?
Procurar o símbolo '@' ,selecionar atras e na frente, todos os caracteres até chegar no espaço. Aqui está o problema. Acho q vou ter q usar expressoes regulares, mas como faz isso?
Obrigado desde já!!!
A página está em formato html, os e-mails então espalhados ao meio de textos e imagens.
A ideia era usar
$pagina_html = file_get_contents($url);
e depois usar a função para localizar os e-mails
$localiza = strripos($pagina, "email a ser localizado");
Isso estaria em um looping,para que, cada vez que um e-mail seja localizado, ele seria adicionado no banco de dados.
Eu não vou localizar um e-mail específico, não sei quais e-mails estão na página. Então, a dúvida está ali na função strrpos em "EMAIL A SER LOCALIZADO", o que colocar ali para que encontre os e-mail? Um expressão regular?
Crie uma ER que se encaixe no padrão e use preg_ match_ all para pegar todas as ocorrências.
Huum, ok.
Então não tem como fugir mesmo das ERs :assobiando:
Well, obrigado pelas respostas!
<?php
function extr_mail($str) {
$regex = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
preg_match_all($regex, $str, $acertos);
return isset($acertos[0]) ? $acertos[0] : array();
}
$url = 'http://a sua url';#se a url tiver espaços usar urlencode
$conteudo = file_get_contents($url);
print_r(extr_mail($conteudo));
?>Agora é só trabalhar os resultados do array
Muito obrigado, deu certo!
Poste o formato que está essa "página cheia de e-mails".