- 浏览: 1623536 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
博客系统通常的做法是,在博客的首页只显示文章的摘要,点击标题进入以后查看全文。显示哪一部分作为摘要是个比较特殊的问题,不同的系统都有自己不同的处理方式,有的是将摘要和扩展部分作为两个输入框,由用户自己决定哪些部分作为摘要,而且上下两部分都是完整的HTML,不存在截取的问题,就像本站使用的Serendipity系统。还有一种像WordPress,你可以自己在正文区中插入一个<!–More–>的标记,显示博客列表页的时候,会对文章以这个标记进行截取。不过我没有试过在一个Table的中间插入这个标记会怎么样,不过这种做法也是完全让用户自主决定如何截取文章,即使截错了,用户重新设置一下就OK了。
而我们公司的博客系统在设计之初,被很多人的意见所左右,(主要是许多没有真正写过博客的人的意见),意见是使用两个框的方式太麻烦,插入标记大部分恐怕也搞不懂,我们要给用户提供最简单的操作,用户只要写他的文章,如何截取交给系统就可以了。由此,让我陷入了一个疯狂改Bug的循环。
从整段的HTML中截取400个字作为摘要,如何处理?也许删除所有<>标签是最简单的办法,但是,博客的文字大家还是想要保留个性,而且有人想使用大字体,或者想对某篇文章使用大字体,以便更加显著,等等诸如此类的需求。总之,用户只想让自己的博客更漂亮,才不会管你怎么截取。
如果只是简单的按照400个字来截取,那么很可能会截到一个标签的中间,这半个标签可能就会导致后面的大段文本被作为标签内文字而不显示,直到遇到下一个结束符为止。于是首先要根据<>标记符,确保要截取的位置不在这两个标记中间。具体的做法是,找到一个<符号,看看里面的标记,去找它所对应的末尾标记,比如找到<p,就去找</p>,找到<div,就去找</div>。随后又发现,如果截取了半个Table,整个页面的布局就会错位,博客的侧边栏都跑到正文的下面去了,因为被作为Table里面的单元格来处理了。想来想去,决定如果出现Table的话,就在Table之前截断,结果导致许多文章的摘要里一个字都没有。然后又发现,不止Table会破坏布局,如果div的前后不对应,布局也会错位,因为我们的博客模板使用的是Div布局。用前面的截取方法存在一个问题,因为Div是可以嵌套的,连续的两个<div><div>标记,就会出现遇到第一个div标记的时候,直接跳到了第一个结尾的</div>标记上去,结果第二个<div>就没有结束符了。除此之外,font, span等等都是可以嵌套的。
后来又想了个办法,干脆把所有的div, font, span全部过滤掉,所<p></p>全部换成br,终于,基本上不会出现截错的问题了,但是,许多文章的分段和缩进是在div里面使用style来定义的(不知道这些用户的文章是从哪里拷过来的),结果许多人的博客首页文字都变成了一样的12px文字,而且密密麻麻挤在一起,极其不美观。再后来,还是有个用户报怨自己博客页面出错,无法打开。进去一看,他的博客文章里居然有N多<!–[IF[之类的标记,出现这种符号以后,用来截取的正则表达式就会报错。于是又在截取之前将注释类符号全部删掉。过了两天,他又报错,原来文章里还有<![IF这样的标签。God,你从哪里复制来的文章啊?
没办法了,即要保留格式,又要兼容各种不可预期的标签结构,这个问题一定要解决。
思路:想在不破坏格式的情况下截取文字,最保险的方法是,保留所有的格式。于是想到一个办法,只对文本内容使用字数限制,而留下所有的HTML标记。比如要取400个字,那么,从正文的第一个字符开始算,如果是普通的文本,放入结果变量,并将记数器加1。如果记数器已经到了400,就忽略这个字。如果字符是<,那么将其后所有的文本放入结果变量,直到>为止。这样,最后截取出来的摘要包括了400个文字,和一堆格式完整的HTML标签。(前提是他贴进来的时候HTML本来就是完整的)。
但是,如果在达到400字以后后面还有一些br, p, li的话,摘要后面就会出现很大的一段空白,那当然是不行的。因此还要把这些东西处理掉,数p的个数太麻烦,把p变成br,如果记数器已经到了400,忽略掉所有的br标签。对li也是,但是处理要特殊一点,因为不能在两个li中间截断。同理,可以对<tr><td>做同样的处理,这样就不会出现半个空白的表格了。
总体使用下来,这个效果还是可以接受的。虽然源代码里多了很多无用的代码(特别是那些从Word里面粘贴文章过来的人),但是从表面上看,截取是比较完美的。
转自:http://www.unfish.net/archives/128-20070629.html
而我们公司的博客系统在设计之初,被很多人的意见所左右,(主要是许多没有真正写过博客的人的意见),意见是使用两个框的方式太麻烦,插入标记大部分恐怕也搞不懂,我们要给用户提供最简单的操作,用户只要写他的文章,如何截取交给系统就可以了。由此,让我陷入了一个疯狂改Bug的循环。
从整段的HTML中截取400个字作为摘要,如何处理?也许删除所有<>标签是最简单的办法,但是,博客的文字大家还是想要保留个性,而且有人想使用大字体,或者想对某篇文章使用大字体,以便更加显著,等等诸如此类的需求。总之,用户只想让自己的博客更漂亮,才不会管你怎么截取。
如果只是简单的按照400个字来截取,那么很可能会截到一个标签的中间,这半个标签可能就会导致后面的大段文本被作为标签内文字而不显示,直到遇到下一个结束符为止。于是首先要根据<>标记符,确保要截取的位置不在这两个标记中间。具体的做法是,找到一个<符号,看看里面的标记,去找它所对应的末尾标记,比如找到<p,就去找</p>,找到<div,就去找</div>。随后又发现,如果截取了半个Table,整个页面的布局就会错位,博客的侧边栏都跑到正文的下面去了,因为被作为Table里面的单元格来处理了。想来想去,决定如果出现Table的话,就在Table之前截断,结果导致许多文章的摘要里一个字都没有。然后又发现,不止Table会破坏布局,如果div的前后不对应,布局也会错位,因为我们的博客模板使用的是Div布局。用前面的截取方法存在一个问题,因为Div是可以嵌套的,连续的两个<div><div>标记,就会出现遇到第一个div标记的时候,直接跳到了第一个结尾的</div>标记上去,结果第二个<div>就没有结束符了。除此之外,font, span等等都是可以嵌套的。
后来又想了个办法,干脆把所有的div, font, span全部过滤掉,所<p></p>全部换成br,终于,基本上不会出现截错的问题了,但是,许多文章的分段和缩进是在div里面使用style来定义的(不知道这些用户的文章是从哪里拷过来的),结果许多人的博客首页文字都变成了一样的12px文字,而且密密麻麻挤在一起,极其不美观。再后来,还是有个用户报怨自己博客页面出错,无法打开。进去一看,他的博客文章里居然有N多<!–[IF[之类的标记,出现这种符号以后,用来截取的正则表达式就会报错。于是又在截取之前将注释类符号全部删掉。过了两天,他又报错,原来文章里还有<![IF这样的标签。God,你从哪里复制来的文章啊?
没办法了,即要保留格式,又要兼容各种不可预期的标签结构,这个问题一定要解决。
思路:想在不破坏格式的情况下截取文字,最保险的方法是,保留所有的格式。于是想到一个办法,只对文本内容使用字数限制,而留下所有的HTML标记。比如要取400个字,那么,从正文的第一个字符开始算,如果是普通的文本,放入结果变量,并将记数器加1。如果记数器已经到了400,就忽略这个字。如果字符是<,那么将其后所有的文本放入结果变量,直到>为止。这样,最后截取出来的摘要包括了400个文字,和一堆格式完整的HTML标签。(前提是他贴进来的时候HTML本来就是完整的)。
但是,如果在达到400字以后后面还有一些br, p, li的话,摘要后面就会出现很大的一段空白,那当然是不行的。因此还要把这些东西处理掉,数p的个数太麻烦,把p变成br,如果记数器已经到了400,忽略掉所有的br标签。对li也是,但是处理要特殊一点,因为不能在两个li中间截断。同理,可以对<tr><td>做同样的处理,这样就不会出现半个空白的表格了。
总体使用下来,这个效果还是可以接受的。虽然源代码里多了很多无用的代码(特别是那些从Word里面粘贴文章过来的人),但是从表面上看,截取是比较完美的。
转自:http://www.unfish.net/archives/128-20070629.html
- GetContentSummary.rar (946 Bytes)
- 下载次数: 57
发表评论
-
【转】C#定时执行某个程序
2015-03-16 17:33 664using System; using System. ... -
多行文本框字符数长度验证的解决方案
2012-03-02 16:04 1155在ASP.NET系统中经常会遇到验证文本框长度,比如数据库里是 ... -
【转】asp.net(c#)通过两个点的经纬度计算距离
2012-01-12 14:14 1349原理: 地球赤道上环绕地球一周走一圈共40075.04公里 ... -
【转】GSM手机短信软件的实现(C#)
2011-11-30 13:55 1247http://www.cnblogs.com/Engin/ar ... -
[转]C#开发短信收发软件的原理
2011-11-16 16:44 1611坛子里好像很多人对如何自己用C#开发手机短信有兴趣,正好我也做 ... -
TCPClient 类实现网络互联、通信
2011-10-29 11:16 2898TcpClient 为 TCP 网络服务提供客户端连接。 S ... -
Hubble.Net实现全文检索
2011-07-25 19:30 3981一、 下载安装 到Hubble.net 项目首页 http: ... -
c# 获取当前周第一天、最后一天,当前月第一天、最后一天的实现代码
2011-04-17 18:39 5203获取当前周工作日第一天、最后一天 int dayOfWee ... -
c#通过调用7z.exe实现解压文件
2011-03-05 15:47 46027-Zip 简介 7-Zip 是一款号称有着现今最高压缩比的 ... -
【转】IEnumerable 和 IEnumerator 接口
2011-03-04 17:12 1981类继承关系:public interface IQueryab ... -
【转】C#获取文件的绝对路径
2011-03-04 17:08 2430要在c#中获取路径有好多方法,一般常用的有以下五种: ... -
ListBox之间的数据项的移动操作
2010-09-29 11:04 1512<%@ Page Language="C# ... -
【转】asp.net中URL参数传值中文乱码的三种解决办法
2010-09-21 22:31 3374在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是 ... -
【转】ASP.NET文件下载函数
2010-09-21 22:29 1358在你的Page_Load中添加这样的代码: Page.Re ... -
【转】在ASP.NET中实现多文件上传
2010-09-21 22:25 1186在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET ... -
[转]ASP.NET中常用的文件上传下载方法
2010-09-21 22:23 1775文件的上传下载是我们在实际项目开发过程中经常需要用到的技 ... -
获取 asp:Button 控件的的ComandName值的方法
2010-05-22 17:31 1206protected void btn_Save_Click ... -
ASP.NET防止用户多次登录的方法
2010-05-06 12:34 1542常见的处理方法是,在 ... -
使用 Enter 键提交表单
2010-04-27 14:04 1300一、使用 JS 代码 我们在表单里面的 TextBox (as ... -
总结一下DataGrid,DataList,Repeater
2010-04-25 17:54 1393一.数据访问控件的区别 1.功能从弱到强依次为Repeater ...
相关推荐
如果你不喜欢 Wordpress 博客的首页每篇文章都显示全文,拖得太长,嫌它速度既慢又影响美观,那么你需要一个摘要插件。 据我所知,现在的摘要插件要么对中文支持得不好,容易出现乱码;要么把原文所有的格式都去掉...
代码如下: /* 时间很久远了,有码友...</STRONG> * 函数: * 说明:无损返回HTML代码 * * 作者:卡斯Kas(QQ:10590916) * 修改:2010-12-13、 */ public static string LeftH(string str, int l) { //为了防止错误
在日常web开发的时候,经常会遇到需要获取保存的HTML文本中的第一张图片,并且截取内容摘要的效果,例如织梦的后台添加完详细内容后就是自动读取内容摘要,并保存第一张图片为缩略图,那么这篇文章跟大家分享下利用...
修复11.1补丁造成的文章内容摘要过滤HTML失效而可能影响到前台排版问题【重要】 2011年11月1日 BUG修复+细节完善 ★更新方式:admin文件夹改成你后台目录名,然后补丁包里的所有文件覆盖进去;进入后台皮肤管理...
很多时候,在我们做文章截取摘要的时候,如果出现HTML的内容,会出现截取的文章没有结束的HTML标签。这样的情况下就会出现页面样式错乱的问题。这 个时候我们需要的就是把缺少的结束标签加批量加上。在www.php.net...
–more–>标签,这样,你可以自由的控制在列表页文章要显示的是哪一部分内容,这样也可以起到控制摘要字数的作用。 方法二:使用excerpt_length钩子 这个方法通过一个钩子来确定the_excerpt()函数的显示字数,在模板...
7.新版增加对WP摘要的支持,貌似很多童鞋对首页截断后的文章无排版格式的很不满意,所以这次增加手动添加摘要功能,方法是在文章编辑页面,摘要中输入首页要显示的内容,支持段落及段首空格,可以看我的最新文章...
1.文章,图片,音乐功能:发表自动HTML生成,分类内容列表批量静态生成可自动更新,批量更新模板,摘要,评论,清晰易用多功能UBB工具栏,可设置置顶,批量删除评论 2.友情链接--HTML生成,前台客户端自动更新,可...
参数: "intro_sub"=>"200" 说明: 文章摘要默认截取数,也可以指定数 参数: "ordersort"=>"desc" 说明: 默认按优先级倒序(数字大靠前),可以修改为asc正序 (优先级最高) 参数: "orderdate"=>"desc" 说明: 默认按优先级...
[增加] 控制每页显示文章篇数,自动摘要截取字数等设置 [增加] 强化后台文章编辑列表多条件自定义查询 [增加] 批量移动文章及其评论 [增加] 更多后台设置 [增加] 文件上传管理 [增加] 上传文件简单...
可自定义上传图片附件是否自动生成缩略图,并可自定义缩略图格式,保持原图比例,自动从原图按照缩略图的高宽比例进行截取;应用Ajax技术进行附件的管理,方便快捷,让您的网站附件内容管理更加井井有条! 10,...