function cut_sub($text, $len){
$text_len = strlen($text);
if($text_len > $len){
$str_split = str_split($text, $len);
$str_split = str_split($str_split[0]);
$str_split = array_reverse($str_split);
$num = $len - array_search(' ', $str_split);
$string = substr($text, 0, $num);
$new_text = substr($text, $num);
}else{
$string = $text;
$new_text = "";
}
return array('string' => $string, 'new_text' => $new_text);
}
function cut_text($text, $len){
$str_split = str_split($text);
$data = cut_sub($text, $len);
$res[] = $data['string'];
$new_text = $data['new_text'];
if(!empty($data['new_text'])){
foreach($str_split as $value){
$data = cut_sub($new_text, $len);
$res[] = $data['string'];
$new_text = $data['new_text'];
if(empty($data['new_text'])){
break;
}
}
}
return $res;
}