Fixed issue #34: "HTML entities can be cut in half when truncating posts"

This commit is contained in:
Michael Save 2012-02-11 18:53:27 +11:00
parent 5c847c75ac
commit ae76ddb079

View File

@ -156,6 +156,7 @@
function truncate($body, $url, $max_lines = false, $max_chars = false) {
global $config;
if($max_lines === false)
$max_lines = $config['body_truncate'];
if($max_chars === false)
@ -192,11 +193,18 @@
}
}
// remove broken HTML entity at the end (if existent)
$body = preg_replace('/&[^;]+$/', '', $body);
// Close any open tags
foreach($tags as &$tag) {
$body .= "</{$tag}>";
}
} else {
// remove broken HTML entity at the end (if existent)
$body = preg_replace('/&[^;]+$/', '', $body);
}
$body .= '<span class="toolong">Post too long. Click <a href="' . $url . '">here</a> to view the full text.</span>';
}