если вы используете preg_split, вы можете разделить ваши данные с помощью: + и отделить каждую часть от
$str = <<<END
Subjects :: ADVERTISINGDOMAIN.COM - RSVP Open House Inquiry - Listing #839027
To :: xyzleads@mydomainname.com
ToName :: Matthew
From :: adwebsite@advertisingdomain.com
FromName :: XYZ Leads
RSVP for Open House
Listing #: 8390279
Open House Date: Sep 3, 2010
Name: John Doe
Phone: 5555555555
Email: johndoe@domain.com
Comments: Hi. I will be at the open house...looking forward to meeting you and viewing this property. Thanks. Jane
END;
$parts = explode( "\n", $str );
foreach( $parts as $part ) {
// split by :+ and unlimited spaces
$data = preg_split( '~[:]+\s*~', trim($part), null, PREG_SPLIT_NO_EMPTY );
if ( count( $data ) ) {
$final_data[] = $data;
}
}
print_r($final_data);
результаты в ...
Array
(
[0] => Array
(
[0] => Subjects
[1] => ADVERTISINGDOMAIN.COM - RSVP Open House Inquiry - Listing #839027
)
[1] => Array
(
[0] => To
[1] => xyzleads@mydomainname.com
)
[2] => Array
(
[0] => ToName
[1] => Matthew
)
...
Теперь, если вы перебираете этот массив, у вас есть «имя переменной» в качестве позиции 0 каждого массива и данные переменных в позиции 1. Если они не совпадают напрямую с полями таблицы, вы можете создать массив, который сопоставляет поля формы с поля таблицы.