/**
  * Formats a given string.
  * 
  * @param string $full_content The string to format
  * @param CultureInfo $culture <CultureInfo> object or false if not present
  * @return string The formatted string
  */
 function FormatContent($full_content, $culture = false)
 {
     $this->content = $content = trim(strip_tags($full_content));
     if ($this->blank_if_false && !$content) {
         return "";
     }
     if (is_array($this->format)) {
         list($format, $options) = $this->format;
         $format = strtolower($format);
         if (!is_array($options)) {
             $options = array($options);
         }
     } else {
         $format = strtolower($this->format);
     }
     if ($format == 'duration') {
         $completedur = $dur = intval($content);
         $s = sprintf("%02u", $dur % 60);
         $dur = floor($dur / 60);
         $h = floor($dur / 60);
         if ($completedur == 0) {
             $content = "0:00";
         } elseif ($h > 0) {
             $m = sprintf("%02u", $dur % 60);
             $content = str_replace($content, "{$h}:{$m}:{$s}", $full_content);
         } else {
             $m = sprintf("%u", $dur % 60);
             $content = str_replace($content, "{$m}:{$s}", $full_content);
         }
     }
     if ($format == 'fixed' || $format == 'pre' || $format == 'preformatted') {
         $content = str_replace($content, "<pre>{$content}</pre>", $full_content);
     } elseif ($culture) {
         switch ($format) {
             case 'date':
                 $content = str_replace($content, $culture->FormatDate($content), $full_content);
                 break;
             case 'time':
                 $content = str_replace($content, $culture->FormatTime($content), $full_content);
                 break;
             case 'datetime':
                 $content = str_replace($content, $culture->FormatDateTime($content), $full_content);
                 break;
             case 'currency':
                 $content = str_replace($content, $culture->FormatCurrency($content), $full_content);
                 break;
             case 'int':
             case 'integer':
                 $content = str_replace($content, $culture->FormatInt($content), $full_content);
                 break;
             case 'percent':
                 $content = str_replace($content, $culture->FormatInt($content) . "%", $full_content);
                 break;
             case 'float':
             case 'double':
                 $content = str_replace($content, $culture->FormatNumber($content, intval($options[0])), $full_content);
                 break;
         }
     } else {
         $content = str_replace($content, sprintf($format, $content), $full_content);
     }
     return $content;
 }