自动生成文章摘要的代码[JavaScript 版本]_Javascript教程-查字典教程网
自动生成文章摘要的代码[JavaScript 版本]
自动生成文章摘要的代码[JavaScript 版本]
发布时间:2016-12-30 来源:查字典编辑
摘要:很多程序绕过这个问题,往往人工来决定在何处截断,太麻烦了。实现内容:截断一段含有HTML代码的文本,但是不会出现围堵标记没有封闭的问题。一个...

很多程序绕过这个问题,往往人工来决定在何处截断,太麻烦了。

实现内容:截断一段含有HTML代码的文本,但是不会出现围堵标记没有封闭的问题。

一个PHP版本的在这里!:自动生成文章摘要[PHP版本]。

核心部分如下:

复制代码 代码如下:

functionGenerate_Brief(text,length){

if(text.length<length)returntext;

varForemost=text.substr(0,length);

varre=/<(/?)(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;

varSinglable=/BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT/i

varStack=newArray(),posStack=newArray();

while(true){

varnewone=re.exec(Foremost);

if(newone==null)break;

if(newone[1]==""){

varElem=newone[2];

if(Elem.match(Singlable)&&newone[3]!=""){

continue;

}

Stack.push(newone[2].toUpperCase());

posStack.push(newone.index);

if(newone[3]=="")break;

}else{

varStackTop=Stack[Stack.length-1];

varEnd=newone[2].toUpperCase();

if(StackTop==End){

Stack.pop();

posStack.pop();

if(newone[3]==""){

Foremost=Foremost+">";

}

}

};

}

varcutpos=posStack.shift();

Foremost=Foremost.substring(0,cutpos);

returnForemost;

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类