我知道将 HTML 字符串截断到一定长度的各种方法,包括/不包括作为结果的一部分的 HTML 标记和/或在保留整个单词等的同时截断。–
不过,我的问题是字符串是否包含特殊字符,例如&
我需要将一个字符串截断为 100 个字符(或者如果它会在特殊字符的中间截断,则少一些)。现在我有一个功能:
$result= truncateIfNecessary(strip_tags($fullText), 100); //ignore HTML tags
function truncateIfNecessary($string, $length) {
if(strlen($string) > $length) {
return substr($string, 0, $length).'...';
} else {
return $string;
}
}
但是,如果字符串类似于text text – text
(在页面上显示为:text text - text
并且$length
属于–
,它返回text text &nda...
的显示完全一样,当我需要它返回时text text...
。
编辑:
(作为答案发布)