源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

自动生成文章摘要的代码[JavaScript 版本]

  • 时间:2021-01-27 08:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:自动生成文章摘要的代码[JavaScript 版本]
很多程序绕过这个问题,往往人工来决定在何处截断,太麻烦了。 实现内容:截断一段含有HTML代码的文本,但是不会出现围堵标记没有封闭的问题。 一个PHP版本的在这里!: 自动生成文章摘要[PHP版本]。 核心部分如下:
[u]复制代码[/u] 代码如下:
function Generate_Brief(text,length){    if(text.length < length) return text;    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;  } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部