// Truncate v1.0 - addblock $isTruncated = false; if (!function_exists(clbTruncate)) { function clbTruncate($match) { global $isTruncated; $intag = false; for ($i = 0; $i < strlen($match[2]); $i++) { $char = $match[2][$i]; if (!$intag && $char == '<') { $intag = true; $newstr .= $char; } elseif ($intag && $char == '>') { $intag = false; $newstr .= $char; } elseif ($intag) { $newstr .= $char; } else { if ($match[1] > 0) $newstr .= $char; if ($match[1] == 0) { $newstr .= '...'; $isTruncated = true; } $match[1]--; } } return $newstr; } } $output = preg_replace_callback('#\[truncate=(.*?)\](.*?)\[/truncate\]#i', clbTruncate, $output); if ($isTruncated) { $output = str_replace("[trunc-link]", "", $output); $output = str_replace("[/trunc-link]", "", $output); } else { $output = preg_replace("'\\[trunc-link\\].*?\\[/trunc-link\\]'si", "", $output); } // Truncate v1.0 - End addblock