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


Posted in Javascript onMarch 20, 2007

很多程序绕过这个问题,往往人工来决定在何处截断,太麻烦了。
实现内容:截断一段含有HTML代码的文本,但是不会出现围堵标记没有封闭的问题。
一个PHP版本的在这里!: 自动生成文章摘要[PHP版本]。
核心部分如下:

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;  
} 
Javascript 相关文章推荐
jquery中获取select选中值的代码
Jun 27 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
js+div实现文字滚动和图片切换效果代码
Aug 27 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
May 13 Javascript
javascript中异常处理案例(推荐)
Oct 03 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
深入解析ES6中的promise
Nov 08 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
详解Webpack抽离第三方类库以及common解决方案
Mar 30 Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 Javascript
基于JavaScript实现省市联动效果
Jun 22 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
Mar 18 #Javascript
表单提交时自动复制内容到剪贴板的js代码
Mar 16 #Javascript
用javascript自动显示最后更新时间
Mar 15 #Javascript
用js实现预览待上传的本地图片
Mar 15 #Javascript
从新浪弄下来的全屏广告代码 与使用说明
Mar 15 #Javascript
Z-Blog中用到的js代码
Mar 15 #Javascript
htm调用JS代码
Mar 15 #Javascript
You might like
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
Javascript的this用法
2017/01/16 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
Pycharm修改python路径过程图解
2020/05/22 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
《藏戏》教学反思
2014/02/11 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
师德师风演讲稿
2014/05/05 职场文书
公司采购主管岗位职责
2014/06/17 职场文书
锦旗赠语
2015/06/23 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL