如何實現如下功能?
乍一看是不是想到了直接通過substring截取,但是這樣會面臨一個問題:有的標題中有中文,有的標題中有字母數字,這樣如果直接採用substring截取固定個數字符,瀏覽器上顯示仍然會不整齊,這是因爲瀏覽器上顯示中文所佔用的像素要多於字母和數字。採用此法截取後效果如下圖:
如何解決問題呢?
通過正則表達式匹配字符串,得出真實長度,之後按照真實長度等比例進行截取:
(此在js中進行截取)
<script type="text/javascript">
var title="${v.title}";
var id="${v.id}";
var realLength=(title.replace(/[^\x00-\xff]/g,"**").length+1)/2
if(realLength>14){
title=title.substring(0,
14*(title.length/realLength))+"...";
}
$("#"+id).html(title);
//alert(realLength);
</script>