function cutString(str, len) {
if(str.length*2 <= len) {
return str;
}
var strlen = 0;
var s = "";
for(var i = 0;i < str.length; i++) {
s = s + str.charAt(i);
if (str.charCodeAt(i) > 128) {
strlen = strlen + 2;
if(strlen >= len){
return s.substring(0,s.length-1) + "...";
}
} else {
strlen = strlen + 1;
if('&'== str.charAt(i)){
if(str.length - 4 >= i ){
var substr = str.charAt(i) + str.charAt(i+1) + str.charAt(i+2) + str.charAt(i+3);
if(substr == "<" || substr == ">"){
strlen = strlen - 3;
}
} else if(str.length - 6>= i){
var substr = str.charAt(i) + str.charAt(i+1) + str.charAt(i+2) + str.charAt(i+3) + str.charAt(i+4)+ str.charAt(i+5);
if(substr == """ || substr == "'" || substr == ' ' ){
strlen = strlen - 5;
}
}else if(str.length - 5>= i){
var substr = str.charAt(i) + str.charAt(i+1) + str.charAt(i+2) + str.charAt(i+3) + str.charAt(i+4);
if(substr == "&" ){
strlen = strlen - 4;
}
}
}
if(strlen >= len){
return s.substring(0,s.length-2) + "...";
}
}
}
return s;
}