Be careful the above solution will break in the middle of words, here is how I short descriptions:
<?php
function smart_substr($string,$start,$length,$delimiter = ' ') {
//if the substring is actually the entire string
if($start == 0 && strlen($string) < $length)
return $string;
//get the real length of the string without breaking
//between delimiters
$real_length = strpos($string,$delimiter,($start + $length));
$retval = substr($string,$start,$real_length);
return $retval;
} //end smart_substr
?>
In your case you would call it like this
<?php
$shortDesc = smart_substr($Description,0,45);
?>
This way it will never break in the middle of a word. It will find the end of the word nearest to the length you specify and then it will break there.