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 相关文章推荐
脚本之家贴图转换+转贴工具用到的js代码超级推荐
Apr 05 Javascript
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
红米手机抢购的js代码
Mar 10 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
Feb 27 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
easyui combobox开启搜索自动完成功能的实例代码
Nov 08 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
Sep 19 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
jquery实现下载图片功能
Jul 18 jQuery
原生js实现表格循环滚动
Nov 24 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
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
PHP 正则表达式小结
2015/02/12 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
php命令行写shell实例详解
2018/07/19 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
修改发贴的编辑功能
2007/03/07 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
Python实现的多线程端口扫描工具分享
2015/01/21 Python
Python删除windows垃圾文件的方法
2015/07/14 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
python实现五子棋游戏
2019/06/18 Python
python实现按关键字筛选日志文件
2019/12/24 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
关于幼儿的自我评价
2013/12/18 职场文书
大四自我鉴定
2014/02/08 职场文书
迎国庆演讲稿
2014/09/15 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2014年质量工作总结
2014/11/22 职场文书
员工升职自荐信
2015/03/27 职场文书
结婚幸福感言
2015/08/01 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
MySQL中的隐藏列的具体查看
2021/09/04 MySQL