JavaScript 版本自动生成文章摘要


Posted in Javascript onJuly 23, 2008

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

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 相关文章推荐
监控 url fragment变化的js代码
Apr 19 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
用jquery方法操作radio使其默认选项是否
Sep 10 Javascript
jQuery实现的支持IE的html滑动条
Mar 16 Javascript
jQuery+html5实现div弹出层并遮罩背景
Apr 15 Javascript
JavaScript获取当前cpu使用率的方法
Dec 15 Javascript
微信小程序实现全国机场索引列表
Jan 31 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
vue+element 模态框表格形式的可编辑表单实现
Jun 07 Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 Javascript
vue路由权限校验功能的实现代码
Jun 07 Javascript
详解js中的原型,原型对象,原型链
Jul 16 Javascript
javascript 支持ie和firefox杰奇翻页函数
Jul 22 #Javascript
IE8 引入跨站数据获取功能说明
Jul 22 #Javascript
兼容多浏览器的字幕特效Marquee的通用js类
Jul 20 #Javascript
js停止输出代码
Jul 20 #Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
Jul 19 #Javascript
javascript 获取网页参数系统
Jul 19 #Javascript
javascript import css实例代码
Jul 18 #Javascript
You might like
超级简单的php+mysql留言本源码
2009/11/11 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
PHP中常用的转义函数
2014/02/28 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
JavaScript 密码强度判断代码
2009/09/05 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
JS作用域链详解
2017/06/26 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
对python中各个response的使用说明
2020/03/28 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
如何利用find命令查找文件
2015/02/07 面试题
运动会广播稿200字(10篇)
2014/10/12 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
2014年保育员工作总结
2014/12/02 职场文书
质量保证书
2015/01/17 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS