当前位置: 首页 > news >正文

春哥技术团队网站建设window优化大师

春哥技术团队网站建设,window优化大师,公司没有网站如何做外贸,义乌网站建设公司说句老实话,我是个不大习惯写博的主,而且本次写博目的是想过来发个小广告,哈哈,都是园子里的兄弟不要拿砖头扔我 园子里的兄弟时间都是很宝贵的.为了大家消消火,少让大家过来扔砖头.所以就把最近项目里碰到的一个长文章自动分页的问题跟大家分享下&…

说句老实话,我是个不大习惯写博的主,而且本次写博目的是想过来发个小广告,哈哈,都是园子里的兄弟不要拿砖头扔我 

园子里的兄弟时间都是很宝贵的.为了大家消消火,少让大家过来扔砖头.所以就把最近项目里碰到的一个长文章自动分页的问题跟大家分享下.说起长文章分页也是属于老生常谈了,网上搜下可以找到一箩筐。目前网上流传的代码大多是基于对文章中字符的多少来进行,这种方法对于图片等这些标记就束手无策了。

由于目前文章上传大多采用HTML编辑器,使得里面参杂的HTML代码严重影响到场文章分页的效果。我现在想说的是一种基于文章行数预测为思路的一种分页方式.操作过程也很简单.

大家都是写程序的,费话少说,看代码  

 1      //======================================================
 2
 3    //     50M 双线空间  + 10M数据库 + 50M邮箱    18元/年
 4    //     100M 双线空间 + 50M数据库 + 100M邮箱  28元/年
 5    //     200M 双线空间 + 50M数据库 + 100M邮箱  38元/年
 6    //                             特价主机,有需要的M我 QQ:70975363
 7
 8    //======================================================
 9        
10        private static List<string> HtmlLineTest(ref string content, int pageid, string url)
11ExpandedBlockStart.gifContractedBlock.gif        {
12            //文章分段数组
13            List<string> segs = new List<string>();
14            int segmax = 30;  // 计划每一面的行数
15            int linewords = 50;
16            int segmin = 0;
17
18            string s;
19
20            //int pageheight = 25;
21            int line = 0;
22ContractedSubBlock.gifExpandedSubBlockStart.gif            对含有HTML代码的文章进行整理#region 对含有HTML代码的文章进行整理
23            content = Regex.Replace(content, "<p[^<>]*>""", RegexOptions.IgnoreCase);
24            content = Regex.Replace(content, "<div[^<>]*>""", RegexOptions.IgnoreCase);
25            content = Regex.Replace(content, "</p>""<br />", RegexOptions.IgnoreCase);
26            content = Regex.Replace(content, "</div>""", RegexOptions.IgnoreCase);
27            #endregion

28            MatchCollection mcc = Regex.Matches(content, "<br */*>|<img[^<>]+>", RegexOptions.IgnoreCase);
29            int idx = 0;
30            StringBuilder __article = new StringBuilder();
31            foreach (Match m in mcc)
32ExpandedSubBlockStart.gifContractedSubBlock.gif            {
33                if (m.Value.StartsWith("<br", StringComparison.OrdinalIgnoreCase))
34ExpandedSubBlockStart.gifContractedSubBlock.gif                {
35                    s = content.Substring(idx, m.Index - idx);
36                    if (!s.StartsWith("  "))
37                        __article.Append("  ");
38                    __article.Append(s);
39                    idx = m.Index + m.Value.Length;
40                    int lth = s.Length / linewords;
41                    if (s.Length % linewords < linewords/2)
42                        lth++;
43                    line += lth == 0 ? 1 : lth;
44                    segmin += lth == 0 ? 1 : lth;
45                    __article.Append("<br />");
46                    if (segmax <= segmin)
47ExpandedSubBlockStart.gifContractedSubBlock.gif                    {
48                        segs.Add(__article.ToString());
49                        _string.Remove(0, __article.Length);
50                        segmin = 0;
51                    }

52                }

53                else if (m.Value.StartsWith("<img", StringComparison.OrdinalIgnoreCase))
54ExpandedSubBlockStart.gifContractedSubBlock.gif                {
55                    int pos = m.Value.IndexOf("height");
56                    if (pos > -1)
57ExpandedSubBlockStart.gifContractedSubBlock.gif                    {
58                        
59                        string ms = m.Value.Substring(pos + 6);
60                        pos = int.Parse(Regex.Match(ms, "\\d+").Value);
61                        line += pos / 25;
62                        segmin += pos / 25;
63                    }

64                    else
65ExpandedSubBlockStart.gifContractedSubBlock.gif                    {
66                        // 图片没有发现表示高度的属性
67                        line += 400 / 25;
68                        segmin += 400 / 25;
69                    }

70                    idx = m.Index + m.Value.Length;
71                    __article.Append(m.Value);
72                    __article.Append("<br />");
73                    if (segmax <= segmin)
74ExpandedSubBlockStart.gifContractedSubBlock.gif                    {
75                        segs.Add(_string.ToString());
76                        __article.Remove(0, _string.Length);
77                        segmin = 0;
78                    }

79                }

80            }

81            if(__article.Length>0)
82                segs.Add(_string.ToString());
83            if (mcc.Count == 0)
84                segs.Add(content);
85            return segs;
86        }

当然了.这是服务端的执行代码.为了能够有效检测图片的长宽,我们把这些工作放在客户端来完成
 

 1
 2    // ++++++++++++++++++++++++++
 3    //         这段代码是针对fckeditor编码器出+ JQuery 写的
 4    //++++++++++++++++++++++++++
 5    function ImgStyleTest()
 6ExpandedBlockStart.gifContractedBlock.gif    {
 7        var FckDocument = $('iframe').eq(1)[0].contentWindow.document;
 8        var HtmlContainer = FckDocument.getElementsByTagName("iframe")[0].contentWindow.document;
 9        var imgs = HtmlContainer.getElementsByTagName("img");
10        for (i=0; i<imgs.length;i++ )
11ExpandedSubBlockStart.gifContractedSubBlock.gif        {
12             var imgObj = new Image();
13             imgObj.src = imgs[i].src;
14             // 检测图片有没有加载完成
15ExpandedSubBlockStart.gifContractedSubBlock.gif             if(imgObj.complete) {             
16                 var width = imgObj.width;
17                 var height = imgObj.height;
18                 // 对长度超过600的图片进行缩放
19ExpandedSubBlockStart.gifContractedSubBlock.gif                 if(width>600{                
20                    height = 600 * height / width;
21                    width = 600;
22                 }

23                 imgs[i].style.width= width;
24                 imgs[i].style.height= height;        
25ExpandedSubBlockStart.gifContractedSubBlock.gif             }
 else {
26                setTimeout("ff()",1000);
27             }

28
29        }

30    }

31  //======================================================
32    //     50M 双线空间  + 10M数据库 + 50M邮箱    18元/年
33    //     100M 双线空间 + 50M数据库 + 100M邮箱  28元/年
34    //     200M 双线空间 + 50M数据库 + 100M邮箱  38元/年
35    //     300M 双线空间 + 50M数据库 + 100M邮箱  48元/年
36    //     600M 双线空间 + 100M数据库 + 200M邮箱 80元/年
37    //     1G 双线空间   + 200M数据库 + 300M邮箱  100元/年
38
39    //                             特价主机,有需要的M我 QQ:70975363
40
41    //======================================================

 

这种做法是针对图片和文章的段进行文章分页的.如果某些文章有些段特长那就无能为力了,但是可以结合长段用字段

长度分割相结合的方式进行分页.

转载于:https://www.cnblogs.com/qlhycf/archive/2009/05/13/1455322.html

http://www.lbrq.cn/news/2545003.html

相关文章:

  • 网站建设合作协议模板搜索网
  • 装修网站设计图推荐找客户的十大方法
  • 保定建设环境项目网站站长工具平台
  • 软件开发工程师招聘简章沈阳关键词优化价格
  • 智慧社区背景图福州seo快速排名软件
  • 4399谁做的网站潍坊seo建站
  • 沧州网络公司电话seo云优化软件破解版
  • 网站建设价目外贸网站大全
  • 好多个人网站做经营性网站怎么申请网站
  • 网站统计插件站内seo和站外seo区别
  • 做文件的网站哪里有培训班
  • 门户网网站seo怎么做桂林seo排名
  • 黑群晖可以做网站吗b2b网站源码
  • 网站上做销售网点怎么做seo基础教程使用
  • 随州seoseo公司官网
  • 开一个做网站的公司赚钱吗电商网站建设步骤
  • 旅游景区网络营销案例保定百度seo排名
  • 优化优化宁波seo关键词优化报价
  • 自己做网站写文章怎么学互联网怎么赚钱
  • 企业品牌网站开发制作合同注册google账号
  • 专门做瓷砖的网站国际网站平台有哪些
  • 网站的外链是怎么做的快速搭建网站的工具
  • 网站公司成功案例怎么写下载百度语音导航地图安装
  • 国内有做网游评测的网站么小说引流推广
  • 重庆有没有做网站的国外免费推广网站有哪些
  • 邢台专业网站建设公司免费源码下载网站
  • 制作化妆品网站淘宝指数
  • 潘多拉固件建设网站如何免费创建自己的网站平台
  • 佛山+网站建设推一手新闻发稿平台
  • 晋江网站建设公司整合网络营销外包
  • 完整复现cacti的RCE
  • JS-第十九天-事件(一)
  • chroma、faiss和milvus三者之间的区别和联系
  • 前端核心技术Node.js(五)——Mongodb、Mongoose和接口
  • C++面试5题--6day
  • MySQL索引和事务笔记