<?php
$string = "
Name: John Doe
Address: 123 Main St
Second Address: hola
City: Chicago
State: IL
Zip: 60021
Name: Jane Smith
Address: 123 State Ave
City: Boston
State: MA
Zip: 02501
Name: John Doe
Address: 123 Main St
City: Chicago
State: IL
Zip: 60021";
preg_match_all('!(Name.*|Address.*|City.*|State.*|Zip.*)!', $string, $results);
$records = $results[0];
$finalResults = [];
$lastElement = "Zip";
foreach ($records as $record) {
$result[] = $record;
$recordArray = explode(":", $record);
if ($recordArray[0] === $lastElement) {
$finalResults[] = $result;
$result = [];
}
}
var_dump($finalResults);