自动生成文章摘要的代码[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 相关文章推荐
ExtJS的FieldSet的column列布局
Nov 20 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
Aug 13 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
JQuery 使用attr方法实现下拉列表选中
Oct 13 Javascript
Javascript与jQuery方法的隐藏与显示
Jan 19 Javascript
jQuery实现强制cookie过期方法汇总
May 22 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
总结在前端排序中遇到的问题
Jul 19 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
用node开发并发布一个cli工具的方法步骤
Jan 03 Javascript
js实现数字滚动特效
Dec 16 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 CURL 多线程操作代码实例
2015/05/13 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
对python中Json与object转化的方法详解
2018/12/31 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
Django admin组件的使用
2020/10/24 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
机械专业个人求职自荐信格式
2013/09/21 职场文书
法学函授自我鉴定
2014/02/06 职场文书
国窖1573广告词
2014/03/21 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
导游词400字
2015/02/13 职场文书
医院见习总结
2015/06/24 职场文书
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL