Обрезка текста

yintar

Новичок
Вывожу из базы текст - 450 символов,а остальной текст скрываю (оставшееся кол-во символов) , после текста ставлю ссылку "читать больше" при нажатии на эту ссылку с помощью javascript показываю скрытый текст.Единственная проблема - после обрезки текста (до 450 символов) последнее слово обрезается некорректно .....Как исправить эту ситуацию?. например обрезать 450 символов но чтобы обрезалось до конца предложения.........
Код:
              <div class="desc">
                                        <?php
                                      
                                        $text = strip_tags($new->description);
                                        //$new->description - это и есть текст который выводится из базы.......
                                        $text = substr($text, 0, 450);
                                       $text_hidden = substr($new->description, 450, strlen($text));                                       
                                        $text = rtrim($text, "!,.-");
                                       // $text = substr($text, 0, strrpos($new->description, ' '));
                                        echo $text."… "; ?>
                                    <p class="text-hidden-<?= $new->id; ?>" style="display: none">
                                          <?php echo $text_hidden;?>
                                     </p>
                                  
                                </div>
скрипт который показывает скрытый текст
Код:
<script>
$(document).ready(function() {
    $('.readmore').on('click',function(e){
          e.preventDefault();
        var id = $(this).attr('id');
    $('.text-hidden-'+id).toggle();
      
    });
});

</script>
 
Сверху