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 相关文章推荐
jquery 子窗口操作父窗口的代码
Sep 21 Javascript
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
Feb 27 Javascript
DOM节点删除函数removeChild()用法实例
Jan 12 Javascript
jquery validate表单验证插件
Sep 06 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
Oct 27 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
AngulaJS路由 ui-router 传参实例
Apr 28 Javascript
原生js获取left值和top值的三种方法
Aug 02 Javascript
Vue实现滑动拼图验证码功能
Sep 15 Javascript
javascript头像上传代码实例
Sep 28 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 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
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
浅谈php冒泡排序
2014/12/30 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
限制文本字节数js代码
2007/03/06 Javascript
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
使用Python对Excel进行读写操作
2017/03/30 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
Python I/O与进程的详细讲解
2019/03/08 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
化工专业个人的求职信范文
2013/11/28 职场文书
后勤人员岗位职责
2013/12/17 职场文书
养生餐厅创业计划书范文
2014/03/26 职场文书
贺卡寄语大全
2014/04/11 职场文书
财务内勤岗位职责
2014/04/17 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
搞笑婚前保证书
2015/02/28 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书