public function getContentSummary(DBHTMLText $content, $maxWords = 50, $add = '...')
    {
        // Get Plain Text Version:
        
        $value = $this->getContentAsPlainText($content);
        
        // Bail Early (if empty):
        
        if (!$value) {
            return '';
        }
        
        // Split on Sentences (do not remove period):
        
        $sentences = array_filter(array_map(function ($str) {
            return trim($str);
        }, preg_split('@(?<=\.)@', $value)));
        
        $wordCount = count(preg_split('#\s+#u', $sentences[0]));
        
        // If the First Sentence is Too Long, Show Only the First $maxWords Words:
        
        if ($wordCount > $maxWords) {
            return implode(' ', array_slice(explode(' ', $sentences[0]), 0, $maxWords)) . $add;
        }
        
        // Add Each Sentence (while there are enough words to do so):
        
        $result = '';
        
        do {
            
            // Add Next Sentence:
            
            $result .= ' ' . array_shift($sentences);
            
            // If More Sentences, Count Number of Words:
            
            if ($sentences) {
                $wordCount += count(preg_split('#\s+#u', $sentences[0]));
            }
            
        } while ($wordCount < $maxWords && $sentences && trim($sentences[0]));
        
        // Answer Result String:
        
        return trim($result);
    }