我有以下功能:截断HTML错误?
function truncate($string, $limit, $break=".", $pad="...") {
if(strlen($string) <= $limit) return $string;
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) - 1) {
$string = substr($string, 0, $breakpoint) . $pad;
}
}
return $string;
}
如果我有以下代码:
$html = '<div style="bla: bla;">somet30ext</div> <div id="bla">MORE AND MORE TEXT</div>';
print truncate($html, 30);
它将在舒美特切断.....换句话说,我们最终用:
<div style="bla: bla;">somet
iee一个未封闭的div标签。我该如何解决这个问题?
更新:
我不想截断,只有当我到达。我想要一些可以自动添加div的东西。在这种情况下,输出应该是:
<div style="bla: bla;">somet</div>
即,它实际上增加了,因为它知道它没有关闭?我是否正确地假设我必须使用像html净化器这样的东西?
指望标记和属性和截断算属性值呢? – hakre