Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

PHP E-mail extractor: Source comentado

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    PHP E-mail extractor: Source comentado

    Segue abaixo um exemplo comentado de como extrair e-mails de uma determinada página usando Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
    Comentários no PHP:
    Código PHP:
    <?php ou <?
    // isto é um comentário
    /* isto também é um comentário */
    # e isto é outro comentário
    ?>
    Comentários no HTML:
    Código HTML:
    <!-- isto é um comentário -->
    Os comentários em HTML podem ser lidos pelo código-fonte no navegador, o que não ocorre com comentários em PHP.
    Código PHP:
    <?php 
    header
    ("Content-type: text/html; charset=UTF8"); // para evitar problemas de codificação e caracteres ilegíveis
    $the_url = isset($_REQUEST['url']) ? htmlspecialchars($_REQUEST['url']) : null// vamos iniciar tentando obter um endereço, se já foi obtido (caso contrário, teremos uma variável nula)
    // agora vamos iniciar nossa página HTML e construir nosso formulário
    // note que eu não respeito regra nenhuma de tableless
    // afinal, não sou designer :D
    ?> 
    <!DOCTYPE html>
    <html>
    <head>
    <title>E-mail extractor by 0KaL</title>
    </head>
    <body>
    <!-- abaixo criamos o formulário com action no arquivo atual -->
    <form method="post" action="<?php echo basename(__FILE__); ?>"> 
    <table>
    <tr>
    <td>URL: </td>
    <!-- e aqui imprimimos a URL (ou nada, se não houver nada digitado) -->
    <td><input type="text" name="url" size="65" value="http://<?php echo str_replace("http://"""$the_url);  ?>"/></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type="submit" value="Extrair e-mails" /></td> 
    </table>
    </form> 
    <br>
    <?php 
    // agora vem a parte divertida :)
    if (isset($_REQUEST['url']) && !empty($_REQUEST['url'])) { // se o usuário já tiver digitado algum endereço
      
    $text file_get_contents($_REQUEST['url']); // vamos obter todo o conteúdo da página e jogar na variável $text
    }

    // agora vem a pior parte: RegExp :S
    if (!empty($text)) { // se a página não estiver vazia
      
    $res preg_match_all
        
    "/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i"
        
    $text
        
    $matches 
      
    ); // vamos obter todo o conteúdo que encaixa na nossa RegExp (e-mails)

      
    if ($res) { // se houverem e-mails
        
    foreach(array_unique($matches[0]) as $email) { 
          echo 
    $email "<br />\n";  //vamos exibí-lo e saltar uma linha
        

      } 
      else { 
    // mas se não houverem e-mails
        
    echo "Nenhum e-mail encontrado!"// ainda preciso comentar? 
      


    // agora vamos terminar o código HTML
    ?>
    </body>
    </html>
    Esta aí. Não é tão completo quanto as ferramentas profissionais, e nem vai seguindo os links das páginas (para isso, use ainda mais regexp). Apenas obtém e-mails em dado endereço.
    É um exemplo que mostra que RegExp são sempre úteis.

    Até mais!
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)
    Similar Threads
X
Working...
X