/** * 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); } }
/** * 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+):(\'|"|"|)(.*)\\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); } }