您好,欢迎访问一九零五行业门户网

JavaScript 版本自动生成文章摘要_javascript技巧

实现内容:截断一段含有html代码的文本,但是不会出现围堵标记没有封闭的问题。
php版本地址
核心部分如下:
复制代码 代码如下:
function generate_brief(text,length){
if(text.length var foremost = text.substr(0,length);
var re = /(body|script|p|div|h1|h2|h3|h4|h5|h6|address|pre|table|tr|td|th|input|select|textarea|object
|a|ul|ol|li|base|meta|link|hr|br|param|img|area|input|span)[^>]*(>?)/ig;
var singlable = /base|meta|link|hr|br|param|img|area|input/i
var stack = new array(), posstack = new array();
while(true){
var newone = re.exec(foremost);
if(newone == null) break;
if(newone[1] == ){
var elem = newone[2];
if(elem.match(singlable) && newone[3]!= ){
continue;
}
stack.push(newone[2].touppercase());
posstack.push(newone.index);
if(newone[3] == ) break;
}else{
var stacktop = stack[stack.length-1];
var end = newone[2].touppercase();
if(stacktop == end){
stack.pop();
posstack.pop();
if(newone[3] == ){
foremost = foremost+>;
}
}
};
}
var cutpos = posstack.shift();
foremost = foremost.substring(0,cutpos);
return foremost;
}
其它类似信息

推荐信息