Basic email scrubbing script

Discussion in 'PHP' started by bersude2, Mar 5, 2010.

  1. #1
    I am looking just for a basic way to clean up my email list of any email addresses whose users contain ONLY numbers.

    Delete any emails like:


    But keep emails like:


    I can obviously delete all emails that start with numbers just by alphabetizing the list and deleting 0-9, but that will remove emails like option 2 above.

    Thanks.
     
    bersude2, Mar 5, 2010 IP
  2. koko5

    koko5 Active Member

    Messages:
    394
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    70
    #2
    Hi,

    Are these emails stored in database?
    Regards :)
    DELETE FROM TableName WHERE email_field RLIKE '^[0-9]+[[.commercial-at.]]';
    Code (markup):
     
    Last edited: Mar 5, 2010
    koko5, Mar 5, 2010 IP
  3. bersude2

    bersude2 Peon

    Messages:
    21
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    No they're not stored in a database, they're stored in .txt files - one email address per line.
     
    bersude2, Mar 5, 2010 IP
  4. koko5

    koko5 Active Member

    Messages:
    394
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    70
    #4
    function bad_emails($s=''){
    return trim($s)&!preg_match('#^\d+@#iu',trim($s));
    }
    
    $f = file('MyFileName.txt') or die("Error opening file");
    print_r(array_filter($f,"bad_emails"));
    
    PHP:
     
    koko5, Mar 5, 2010 IP