以下代码的作用是什么以及它的用途是什么?
的JavaScript
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
答案 0 :(得分:1)
它解析HTML并以非常宽松的方式删除标签。在某些情况下它可能会失败。例如,如果属性值中包含>
,或者文本中没有标记名称的<
,则会导致结果混乱
它还可以选择截断返回的文本。 while
循环确保截断的文本发生在空格字符处。
因此,如果你传递一串HTML,除了我上面提到的问题之外,它还会给你带回没有标签的字符串。如果你传递一个数字作为第二个参数,它会将长度限制为该数字(再次,除非它加上它以避免将一个单词切成两半)。