自动生成文章摘要的代码[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 相关文章推荐
javascript显示隐藏层比较不错的方法分析
Sep 30 Javascript
js option删除代码集合
Nov 12 Javascript
jquery 双色表格实现代码
Dec 08 Javascript
网页中可关闭的漂浮窗口实现可自行调节
Aug 20 Javascript
JS自定义对象实现Java中Map对象功能的方法
Jan 20 Javascript
JavaScript数据库TaffyDB用法实例分析
Jul 27 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
Mar 13 Javascript
JSON数据中存在单个转义字符“\”的处理方法
Jul 11 Javascript
vue下history模式刷新后404错误解决方法
Aug 18 Javascript
深度了解vue.js中hooks的相关知识
Jun 14 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 18 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
用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 xfocus防注入资料
2008/04/27 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
php微信公众号开发之简答题
2018/10/20 PHP
xmlHTTP实例
2006/10/24 Javascript
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
jQuery的学习步骤
2011/02/23 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
HTML的select控件美化
2017/03/27 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
深入了解js原型模式
2019/05/30 Javascript
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
通过代码实例了解Python异常本质
2020/09/16 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
土地转让协议书范本
2014/04/15 职场文书
销售人员工作自我评价
2014/09/21 职场文书
起诉书范文
2015/05/20 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js