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 相关文章推荐
extjs grid取到数据而不显示的解决
Dec 29 Javascript
jQuery技巧总结
Jan 01 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
JavaScript ParseFloat()方法
Dec 18 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
喜大普奔!jQuery发布 3.0 最终版
Jun 12 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
Aug 25 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 Javascript
vue 判断页面是首次进入还是再次刷新的实例
Nov 05 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 中执行系统外部命令
2006/10/09 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
three.js 入门案例详解
2018/01/23 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
python实现各进制转换的总结大全
2017/06/18 Python
python跳出双层for循环的解决方法
2019/06/24 Python
pytorch中图像的数据格式实例
2020/02/11 Python
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
2014最新离职证明范本
2014/09/12 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
教师求职自荐信
2015/03/26 职场文书
民事诉讼代理词
2015/05/25 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android