function getInfo(html){
//去掉注释
html=html.replace(/<!--.+?-->/g,"")
var arrP=[]
var reg=/<(p|h1|h2|h3|h4|h5|pre|blockquote|table)( +[^>]*>|>)[\d\D]*?<\/\1>/gi html.replace(reg,function(m){
if(/^<p/.test(m)&&/<\/div>/gi.test(m)){
m= m.replace(/<\/div>[\d\D]+/gi,"")
}
var start=arguments[arguments.length-2]
var json={
start:start,
end:start+ m.length,
power:m.length
}
m.replace(/[\u4e00-\u9fa5]/g,function(){
json.power+=2
})
arrP.push(json)
})
// console.log(arrP)
var bigData={}
var dongArr=[]
for(var i=0;i<arrP.length;i++){
if(i==0){
bigData=dongArr[i]=arrP[i]
continue;
}
if(/<\/(a|li)>\s*<(a|li)/gi.test(html.substring(arrP[i-1].end,arrP[i].start))||/<\/div>[\d\D]*<\/div>/gi.test(html.substring(arrP[i-1].end,arrP[i].start))||/<\/(script|style|link|form)>/gi.test(html.substring(dongArr[i-1].start,arrP[i].end))){
dongArr[i]=arrP[i]
}else{
dongArr[i]={
start:dongArr[i-1].start,
end:arrP[i].end,
power:dongArr[i-1].power+arrP[i].power
}
}
if(dongArr[i].power>bigData.power){
bigData=dongArr[i]
}
}
var cont=html.substring(bigData.start,bigData.end) return cont
}
module.exports=getInfo;

  

动态规划算法解析网页中的内容 JavaScript的更多相关文章

  1. javascript怎么获取指定url网页中的内容

    javascript怎么获取指定url网页中的内容 一.总结 一句话总结:推荐jquery中ajax,简单方便. 1.js能跨域操作么? javascript出于安全机制不允许跨域操作的. 二.用ph ...

  2. 获取WebView加载HTML时网页中的内容

    main.xml如下: [html] view plaincopy <RelativeLayout xmlns:android="http://schemas.android.com/ ...

  3. 输出内容 document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容

    输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...

  4. 用Word收集网页中的内容,用文档结构图整理

    如何用Word保存网页中的内容 网页中的内容,用什么保存好? 用笔记类软件是个不错的选择,还可以用 Word 保存,这样方便用“文档结构图”来整理网页. 如图:网页收集后用文档结构图进行整理. (图一 ...

  5. 通过CSS让html网页中的内容不可选

    *{ moz-user-select: -moz-none; -moz-user-select: none; -o-user-select:none; -khtml-user-select:none; ...

  6. asp自动解析网页中的图片地址,并将其保存到本地服务器

    程序实现功能:自动将远程页面的文件中的图片下载到本地. 程序代码 <% '将本文保存为 save2local.asp '测试:save2local.asp?url=http://ent.sina ...

  7. php抓取网页中的内容

    以下就是几种常用的用php抓取网页中的内容的方法.1.file_get_contentsPHP代码代码如下:>>>>>>>>>>>&g ...

  8. Java 抓取网页中的内容【持续更新】

    背景:前几天复习Java的时候看到URL类,当时就想写个小程序试试,迫于考试没有动手,今天写了下,感觉还不错 内容1. 抓取网页中的URL 知识点:Java URL+ 正则表达式 import jav ...

  9. JS 导出网页中Table内容到excel

    <html> <head> <script type="text/javascript" language="javascript" ...

随机推荐

  1. caret 分类回归树 用法

    http://topepo.github.io/caret/feature-selection-overview.html

  2. combogrid change check multiple

    this.SetDict = function (obj, dicType, multiple, Ischeckbox, callback, change) { obj.combogrid({ pan ...

  3. hdu 4681 String(转载)

    #include <stdio.h> #include <string.h> #include <algorithm> #include <iostream& ...

  4. Reading Text-based Files In ASP.NET

    Friday, July 17, 2015 1:43 PM Every time I need to work with the contents of text-based files in an ...

  5. ios7适配--navgationbar遮住下面view的处理

    3down votefavorite   Have you guys stumbled up on this issue ? Basically in iOS 7 Navigation Control ...

  6. 面试题:测试给定的list,使用for,foreach,iterator删除元素的不同表现

    上代码: 1. 使用增强for循环(foreach) package com.xxx; import java.util.ArrayList; import java.util.List; /** * ...

  7. MySQL性能调优与架构设计——第6章 MySQL Server 性能的相关因素

    第6章 MySQL Server 性能的相关因素 前言 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部 ...

  8. post get 方法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  9. Task async await

    暇之余,究多Task.async.await. using System; using System.Collections.Generic; using System.Linq; using Sys ...

  10. IEnumerable与IQueryable区别

    最近在使用MongoDB的时候,发现查询很慢,一个根据Id查询的语句竟然用了50秒,debug了一下,没发现什么大问题,但是另一个查询的语句只用了2秒,对比了一下,发现50s的那个语句使用的IEnum ...