PHP-Code:
// INIT
$var='(Gerichts-, Königs-)Hof, Gericht';
// Ist eine Klammer enthalten? Wenn ja, dann so, ansonten ausgabe der var
$banana_split=split('\(',$var);
if (is_array($banana_split))
{
// Debug only
// echo '<pre>'.print_r($banana_split).'</pre>';
// Wieviele Wörter in der Klammer.
$klammer=split('\)',$banana_split[1]);
$klammerwörter=split(',',$klammer[0]);
// Debug only
// echo '<pre>'.print_r($klammerwörter).'</pre>';
for ($i=0;$i<sizeof($klammerwörter);$i++)
{
$wort[]=substr($klammerwörter[$i],0,stripos($banana_split[1],'-')-1);
// echo $wort[$i]; // Debug
}
// Nach der Klammer ist vor der nächstesn Klammer ^^
$blubb=split('\)',$var);
$nichtklammer=split(',',$blubb[1]);
// Erstes Wort ist natürlich [0]
// echo '<pre>'.print_r($nichtklammer).'</pre>';
for ($i=0;$i<sizeof($nichtklammer);$i++)
{
if ($i==0) $anhang=$nichtklammer[$i];
else
$weitere_vokabeln[]=$nichtklammer[$i];
}
for ($i=0;$i<sizeof($wort);$i++)
{
$vokabeln[]=$wort[$i].$anhang;
}
for ($i=0;$i<sizeof($weitere_vokabeln);$i++)
{
$vokabeln[]=$weitere_vokabeln[$i];
}
echo '<pre>';
print_r($vokabeln);
echo '</pre>';
}
Code ist getestet mit Dienem beispiel und funzt. Sorg dafür, daß die Datenbank immer Deine Regeln einhält, und es geht gut
.
Okay, bitte nicht lästern - ich bin nicht so der PHP Haxxor, es gibt bestimmt auhc optimierte PREGS und was weiss ich nicht noch alles, aber das Problem hat mich gereizt, deswegen hab ich es mir mal angeschaut. Langweilig ist mir mit SIcherheit nicht, aber naja, so sieht´s aus.
Falls Du es als Grundlage für Deine eigene Funktion verwenden kannst, umso besser, freu7t mich, wenns geholfen hat. 
---Edit: Das war das letztemal, daß ich mir den Beitrag Nicht in ganzer Länge durchlese, bevor ich anfange loszuhacken.
- für den Decke(l) mußt DU natürlich eine Ausnahme machen. Etwa in der Form, daß nur die erste Klammerseparierung betrachtet wird. Dann sollte es aber gehen, und z.B. Decke(l) so ausgegeben werden.