Ich denke aber mittlerweile. dass ich nicht umhin komme diesen Textbaustein mit den Personen in vier einzelne Textbausteine zu teilen
Ja, das scheint mir zielführend. Prinzipiell könnte man zwar Texte auch (z.B. nach Absätzen) zerteilen, aber der Mehraufwand mit PHP ist vermutlich höher als die Absätze einfach separat als Textbausteine zu speichern.
Legen Sie die Kennungen der Texte in einem Array ab, um sie später bequem der Ziehung im Zufallsgenerator zuzuordnen, z.B.
$texte = [
1 => ['TX01', 'TX02', 'TX03', 'TX04'],
2 => ['TX05', 'TX06', 'TX07', 'TX08'],
3 => ['TX09', 'TX10', 'TX11', 'TX12'],
4 => ['TX13', 'TX14', 'TX15', 'TX16']
];