Having the ability to truncate a string of text and add ‘…’ to the end without breaking or cutting off in the middle of a word is quite a common requirement, here’s how to do it

There is a useful post on http://stackoverflow.com/a/1104329 which explains one method of achieving this. In my example below I am retrieving the string from an Advanced Custom Field in a CPT loop hooked up to a Flexslider

<div class="flexslider">
    <ul class="slides">

        <?php

        $args = array (
            'post_type'              => array( 'clients' ),
            'order'                  => 'DESC',
        );

        $query = new WP_Query( $args );

        if ( $query->have_posts() ) {
            while ( $query->have_posts() ) {
                $query->the_post();

                $str = get_field('testimonial');
                $str = wordwrap($str, 185);
                $str = explode("\n", $str);
                $str = $str[0] . '...';
        ?>

        <li style="padding: 0px; text-align: center;">
            <span class="testimonial-content" style="font-style: italic; font-weight: light; line-height: 25px; font-size: 20px;">“<?php echo $str; ?>  <a href="/read-the-reviews/">Read More</a></span>
        </li>    

        <?php
                
                }
        }

        wp_reset_postdata(); 

     ?>
    </ul>
</div>