Да, я рассчитывал на текст с точечками, так красивее получается) ну если надо разбивать циферки, то меняем
preg_match_all('#(.{'.$l.',}?[,\.\?!])#is', $text, $sp, PREG_OFFSET_CAPTURE);
на
preg_match_all('#(.{'.$l.',}?\s)#is', $text, $sp, PREG_OFFSET_CAPTURE);