/** * Parses out specific white space before or after certain tags and does nl2br * This function is extended to handle creating snippets when bbcode is disabled. * * @param string Text to process * @param bool Whether to translate newlines to <br /> tags * * @return string Processed text */ function parse_whitespace_newlines($text, $do_nl2br) { $text = parent::parse_whitespace_newlines($text, $do_nl2br); $do_bbcode = ($this->parse_userinfo['permissions']['vbblog_entry_permissions'] & $this->registry->bf_ugp_vbblog_entry_permissions['blog_allowbbcode']); if (!$do_bbcode AND $this->snippet_length > 0 AND ($length = strlen($text)) > $this->snippet_length) { $last_char_pos = $this->snippet_length - 1; if (preg_match('#\s#s', $text, $match, PREG_OFFSET_CAPTURE, $last_char_pos)) { $text = substr($text, 0, $match[0][1]); // chop to offset of whitespace } else { $text = substr($text, 0, $this->snippet_length); } if (substr($text, -3) == '<br') { // we cut off a <br /> code, so just take this out $text = substr($text, 0, -3); } $this->createdsnippet = true; } else { $this->createdsnippet = false; } return $text; }