limiting characters shown in taxonomy descriptions

function trunc($phrase, $max_words, $after = null) {
    $phrase_array = explode(' ',$phrase);
    if(count($phrase_array) > $max_words && $max_words > 0)
        $phrase = implode(' ',array_slice($phrase_array, 0, $max_words)) . $after;
    return $phrase;
}

This function returns the input shortened if there are more words in it than $max_words. You use it like this:

$string = "This is a sample string";
echo trunc($string, 3);

This will echo out “This is a”

In your case you have to use it like

<?php $taxonomy = 'peoples';$terms = get_the_terms( $post->ID , 'peoples' );  if ( !empty( $terms ) ) : foreach ( $terms as $term ) {if($counter++ >= 1) break; $link = get_term_link( $term, $taxonomy ); if ( !is_wp_error( $link ) ) echo '<h2>Profile: ' . $term->name . '</h2><ul id="profile"><li class="big-listing ' . $term->slug. '"><div class="text">' .trunc($term->description, 40).'</div></li></ul>';} endif;?>

The third parameter is for after the string if it’s get shortened.

$string = "This is a sample string";
echo trunc($string, 3, '...');

This will echo out “This is a…”