Trích xuất các email trong một đoạn văn bản

PHP nâng cao 08/01/2017 07:00 639
Phương pháp này giúp cho bạn tìm kiếm/lọc các địa chỉ emmail nằm trong một chuỗi.

Nó cho phép bạn lọc tất cả các địa chỉ email bạn cần lấy từ một đoạn văn bản, một trang website. Đoạn code khá đơn giản và bạn có thể thay đổi nó phù hợp với yêu cầu của bạn.

 

$text = "Ngày thử nhất tôi đăng ký một cái email là first@gmail.com, ngày thứ hai tôi đăng ký là second@gmail.com";
$res = preg_match_all("/[a-z0-9]+[_a-z0-9.-]*[a-z0-9]+@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})/i",$text,$matches);
if ($res) {
    // array_unique loại bỏ các phần từ nào trùng nhau
    foreach(array_unique($matches[0]) as $email) {
        echo $email . "";
    }
}

// Kết quả:
// first@gmail.com
// second@gmail.com

  Run

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.