Tôi có một khối văn bản mà từ đó tôi muốn trích xuất các địa chỉ e-mail hợp lệ và đặt chúng vào một mảng. Cho đến nay tôi có ...Trong PHP, làm thế nào để trích xuất nhiều địa chỉ e-mail từ một khối văn bản và đặt chúng vào một mảng?
$string = file_get_contents("example.txt"); // Load text file contents
$matches = array(); //create array
$pattern = '/[A-Za-z0-9_-][email protected][A-Za-z0-9_-]+\.([A-Za-z0-9_-][A-Za-z0-9_]+)/'; //regex for pattern of e-mail address
preg_match($pattern, $string, $matches); //find matching pattern
Tuy nhiên, tôi nhận được một mảng chỉ có một địa chỉ. Vì vậy, tôi đoán tôi cần phải chu kỳ thông qua quá trình này bằng cách nào đó. Làm thế nào để làm điều đó?
Cảm ơn bạn rất nhiều !! Giờ tôi đang đến gần. Sản lượng của tôi tuy nhiên trông hơi lạ với tôi. Tôi dường như nhận được mảng trong mảng của tôi như sau: Array ([0] => Array ([0] => example @ slu.edu) [1] => Mảng ([0] => edu)) – HumbleHelper
Tôi đang tìm kiếm một mảng đơn giản với mỗi khóa có chứa một địa chỉ e-mail. – HumbleHelper
@HumbleHelper preg_replace_all sẽ tạo các phần tử mảng mới cho các bản con của bất kỳ thứ gì nằm trong dấu ngoặc đơn trong mẫu gốc. Bạn có dấu ngoặc đơn quanh phần cuối cùng là miền trong mẫu của bạn. Để khắc phục điều này, bạn chỉ có thể nối thêm $ matches = $ matches [0] ở cuối. Ngoài ra, hãy nhìn vào câu trả lời của Clay Hinson. Anh xứng đáng với câu trả lời được chấp nhận. – stevendesu