首页 > web前端 > js教程 > 正文

自动生成文章摘要[JavaScript 版本]_javascript技巧

php中文网
发布: 2016-05-16 19:23:22
原创
1832人浏览过
By dknt From bbs.blueidea.com

搜了搜这个,发现找不到答案。所以自己写了一个,很多程序绕过这个问题,往往人工来决定在何处截断,太麻烦了。

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

一个PHP版本的在这里!: 自动生成文章摘要[PHP版本]

核心部分如下:
复制代码 代码如下:

function Generate_Brief(text,length){
    if(text.length     var Foremost = text.substr(0,length);

    var re = /]*(>?)/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;
}


测试用例如下:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

这个测试用例应该是好使,如果不行,请在纯IE下打开本页面。

主要问题是文章不能超过20000字,还差一个 HTMLencode, HTMLdecode 没有写进去。没办法只好嵌入了。

HTMLencode, HTMLdecode 在 http://cs02.100steps.net/new/onejsneeded.js 定义。不是我写的,如果需要自己去拿吧。
我的空间速度对大家来说可能会比较慢,那我也没办法了...
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号