$re = '/(?:[A-Z][a-z]+[,\s&]*|[A-Z]\.),?/m';
$str = 'Kraus, Fritz R., (1968) 146
Owen, David I., (2013) 1156
Dalley, Stephanie & Yoffee, Norman, (1991) 001
De Graef, (2016) p. 32 no. 9';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php