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 相关文章推荐
[原创]用javascript实现检测指定目录是否存在的方法
Jan 12 Javascript
js parsefloat parseint 转换函数
Jan 21 Javascript
基于JQuery的动态删除Table表格的行和列的代码
May 12 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
Oct 16 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
JavaScript动态设置div的样式的方法
Dec 26 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
Jun 01 Javascript
JS实现环形进度条(从0到100%)效果
Jul 05 Javascript
JavaScript鼠标特效大全
Sep 13 Javascript
webpack学习教程之前端性能优化总结
Dec 05 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 Javascript
利用promise及参数解构封装ajax请求的方法
Mar 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
js实现楼层导航功能
2017/02/23 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
python爬取51job中hr的邮箱
2016/05/14 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
python通过zabbix api获取主机
2018/09/17 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
销售人员自我评价
2014/02/01 职场文书
培训班主持词
2014/03/28 职场文书
2014年后勤工作总结
2014/11/18 职场文书