Может быть, что-то вроде этого может работать:
<?php
$str = "Mary likes to hike, to swim, and to ride a bicycle, also, something more at the end.";
var_dump($str);
$str = preg_replace('/((\s\w*){3,},)/', '\1*', $str);
$str = explode('*', $str);
var_dump($str);
?>
Это должно работать на чем-то вроде использования чего-то более уникального, чем просто *