preg_split cómo incluir el delimitador de división en los resultados?

Tengo este patrón simple que divide un texto en puntos

$text = preg_split("/[\.:!\?]+/", $text);

Pero quiero incluir. : o! al final de los elementos de la matriz

IE ahora para "good: news.everyone!" yo tengo:

array("good","news","everyone","");

pero lo que quiero es:

array("good:","news.","everyone!","");

Respuestas a la pregunta(2)

Su respuesta a la pregunta