Doğru mu anladım bilmiyorum ama:
preg_match_all('@<p class="baslik">(.*?)</p>@si',$kaynak,$baslik);
preg_match_all('@<p class="link">(.*?)</p>@si',$kaynak,$link);
preg_match_all('@<p class="yazar">(.*?)</p>@si',$kaynak,$yazar);

$veriler[]= $baslik[0];
$veriler[] = $link[0];
$veriler[] = $yazar[0];
 
foreach($veriler as $ve){

echo $ve.'<br />';

}