Beispiel #1
0
 /**
  * Strips BB Code from a string and word-trims it to a given max length around an optional search term
  *
  * @param string $string Input text (bb code)
  * @param integer $maxLength
  * @param array $options Key-value options
  *
  * @return string HTML
  */
 public static function helperSnippet($string, $maxLength = 0, array $options = array())
 {
     $options = array_merge(array('term' => '', 'emClass' => '', 'stripQuote' => false), $options);
     $string = XenForo_Helper_String::bbCodeStrip($string, $options['stripQuote']);
     if ($maxLength) {
         $string = XenForo_Helper_String::wholeWordTrimAroundSearchTerm($string, $maxLength, $options['term']);
     }
     $string = trim($string);
     $string = XenForo_Helper_String::censorString($string);
     if ($options['term'] && $options['emClass']) {
         return XenForo_Helper_String::highlightSearchTerm($string, $options['term'], $options['emClass']);
     } else {
         return htmlspecialchars($string);
     }
 }
Beispiel #2
0
 /**
  * Strips BB Code from a string and word-trims it to a given max length around an optional search term
  *
  * @param string $string Input text (bb code)
  * @param integer $maxLength
  * @param array $options Key-value options
  *
  * @return string HTML
  */
 public static function helperSnippet($string, $maxLength = 0, array $options = array())
 {
     $options = array_merge(array('term' => '', 'fromStart' => 0, 'emClass' => '', 'stripQuote' => false, 'stripHtml' => false, 'stripPlainTag' => false), $options);
     if ($options['stripHtml']) {
         $string = strip_tags($string);
     } else {
         if ($options['stripPlainTag']) {
             $string = preg_replace('#(?<=^|\\s|[\\](,]|--|@)@\\[(\\d+):(\'|"|&quot;|)(.*)\\2\\]#iU', '\\3', $string);
         } else {
             $string = XenForo_Helper_String::bbCodeStrip($string, $options['stripQuote']);
         }
     }
     if ($maxLength) {
         if ($options['fromStart']) {
             $string = XenForo_Helper_String::wholeWordTrim($string, $maxLength);
         } else {
             $string = XenForo_Helper_String::wholeWordTrimAroundSearchTerm($string, $maxLength, $options['term']);
         }
     }
     $string = trim($string);
     $string = XenForo_Helper_String::censorString($string);
     if ($options['term'] && $options['emClass']) {
         return XenForo_Helper_String::highlightSearchTerm($string, $options['term'], $options['emClass']);
     } else {
         return htmlspecialchars($string);
     }
 }