<?php
$commentsString = "His phone is not functional because the camera does not appear/work and he
needs it to be usable for Cerity. It also freezes up. He's had his last phone for 3 years, it's time
for an upgrade. Thank you!";
$comments = array();
$labels = array(
'Comment Type:' => 'type',
'Comment Body:' => 'body',
'Comment By:' => 'by',
'Comment Date:' => 'date'
);
$commentParts = explode('Comment Type:', $commentsString);
if(strpos($commentsString, 'Comment Type:') !== 0){
$comments[] = array(
'type'=>'Text Only',
'body'=>$commentsString,
'by'=>'',
'date'=>''
);
} else {
foreach ($commentParts as $commentPart) {
$comment = array();
$commentLines = explode("\n", $commentPart);
array_walk($commentLines, create_function('&$val', '$val = trim($val);'));
$currentLabel = 'unknown';
foreach ($commentLines as $line) {
if (empty($line)) continue;
if (empty($comment['type'])) {
$comment['type'] = $line;
continue;
}
if (substr($line, 0, 5) == 'Body:') {
$line = substr($line, 5);
$currentLabel = 'body';
}
if (in_array($line, array_keys($labels))) {
$currentLabel = $labels[$line];
$comment[$currentLabel] = '';
} else {
if (empty($comment[$currentLabel])) $comment[$currentLabel] = '';
$comment[$currentLabel] .= $line . ' ';
}
}
if (!empty($comment)) $comments[] = $comment;
}
}
var_dump($comments);
preferences:
44.67 ms | 402 KiB | 5 Q