استخراج ایمیل از درون رشته در PHP

تا به حال به این فکر کرده‌اید که اسمپمرها چگونه به ایمیل شما دسترسی پیدا می‌کنند؟ خیلی ساده است آنها در صفحات HTML ایمیل ها را جستجو می‌کنند و آنها را در پایگاه داده خود ذخیره می‌کنند. اگر شما بخواهید ایمیل های درون یک رشته را استخراج کنید کافی است از قطعه کد زیر استفاده کنید. فقط لطفا ازاین کد برای کارهای اسپمری استفاده نکنید.

function extract_emails($str){
    // This regular expression extracts all emails from a string:
    $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
    preg_match_all($regexp, $str, $m);

    return isset($m[0]) ? $m[0] : array();
}

$test_string = 'This is a test string...

        test1@example.org

        Test different formats:
        test2@example.org;
        <a href="test3@example.org">foobar</a>
        <test4@example.org>

        strange formats:
        test5@example.org
        test6[at]example.org
        test7@example.net.org.com
        test8@ example.org
        test9@!foo!.org

        foobar
';

print_r(extract_emails($test_string));

دیدگاه خود را بنوبسید