Hallo Jörk
split (/\b\W*\s+\W*\b/, $text);
Warum braucht es \b? Ohne würde es ja auch funktionieren. Sonst finde ich deine Lösung auch besser. Allerdings solltest du nicht \W verwenden, da dort auch Umlaute und andere Sonderzeichen enthalten sind.
Dieser Befehl sollte auch mit Sonderzeichen klar kommen:
split(/[^\wŠŒšœŸÀ-ÖØ-öø-ÿ]*(?:\s+$)[^\wŠŒšœŸÀ-ÖØ-öø-ÿ]*/, $text);
Gruss
Andreas