Merhaba.En basit şekilde preg_match_all ifadesinidüzenleyin ve sadece json olan yeri alsın, şöyle:
// preg_match_all('@<script id="__NEXT_DATA__"(.*?)</script>@si',$kaynak,$tumyazilarial);
preg_match_all('@<script id="__NEXT_DATA__" type ="application/json">(.*?)X</script>@si',$kaynak,$tumyazilarial);
$tumyazilarial = $tumyazilarial[1][0];
//print_r($tumyazilarial[1][0]);
//exit;
(.*?) yanındaki "X" yazan yeri, satır istenen json ifade sonundaki fazlalık şey ile değiştirin. Tahminen: "<" olabilir.
Sorun olursa satın sonunu (json bittikten sonraki karakterleri) gösteren yeri copy paste yapın, hemen bakabilirim.
Kolay gelsin.