`
hot88zh
  • 浏览: 182861 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

make excerpt in Ruby

阅读更多

大量地方都会有这样的问题:给大段文字做一个截断当作摘要,但是一定要保证 html markup valid。

最简单的方式是删掉所有的 html 标签然后截断,这样做的结果是产生一陀文字,没有换行,没有任何样式!

方法是:



tr.gsub(/<\/?[^>]*>/, "") 


比较好的办法是像这篇文章里说的利用REXML和一个队列去完成
,下面的评论中提到用 HTMLEntities
可以改善截断问题,但是在测试中发现会有UTF-8 invalid 问题(需要3bytes,只传2bytes,不知道是不是我数据的问题),于是乎放弃HTMLEntities,这样会有一个小bug,截断后末尾会有个乱码,八成是UTF-8 被截断了。

还有一个用 Tidy 的办法
貌似很爽,但是在我这的FreeBSD 6.2 + Ruby 1.8.6 + libtidy_051026 + rubytidy 1.1.2 上遇到一个Bug
,暂时放弃



评论:

这个问题也困扰了我很久,有时候截取出来的摘要包含了一半的标签,结果页面就都乱了。。。

 

分享到:
评论

相关推荐

    advanced-excerpt.4.2.3

    《深入理解高级摘要:advanced-excerpt 4.2.3 版本解析》 在IT领域,内容管理和呈现是至关重要的。"advanced-excerpt"是一个专门针对内容摘要处理的插件或工具,其4.2.3版本为用户提供了一套更加强大和精细的摘要...

    Hadoop in Action excerpt_index

    ### Hadoop in Action:深入解析Hadoop关键技术与应用 #### 核心概念与技术要点 在探讨《Hadoop in Action》一书时,我们聚焦于Hadoop生态系统中的关键技术和概念,这些技术对于理解和掌握大数据处理至关重要。...

    excerpt-solomon_excerpt_pdf_windows_

    windows solomon excerpt documentation

    mysql-cluster-excerpt-5.1-en.a4.pdf

    根据给定文件的信息,我们可以深入探讨关于MySQL Cluster的知识点,特别是在MySQL 5.1版本中的应用与特性。MySQL Cluster是MySQL数据库系统的一个组件,它提供了一种数据存储和处理的分布式解决方案,旨在提高数据...

    wordpress摘要插件wp-utf8-excerpt

    **WordPress 摘要插件 WP-UTF8-Excerpt 深度解析** 在 WordPress 的世界里,创建和管理文章摘要是一项常见的需求,尤其对于博客和新闻网站来说,一个吸引人的摘要能有效提高读者的点击率。WP-UTF8-Excerpt 插件就是...

    Flexbox.in.CSS.2017.5.pdf

    Short and deep, this book is an excerpt from the upcoming fourth edition of CSS: The Definitive Guide. When you purchase the ebook edition of Flexbox in CSS, you’ll receive a discount on the entire ...

    excerpt-html:解析给定的html文本以获得良好的摘录

    $ npm i excerpt-html --save API使用 var htmlCode = '&lt;p&gt;Hello world&lt;/p&gt;' ; var excerptHtml = require ( 'excerpt-html' ) ; var excerpt = excerptHtml ( htmlCode ) ; 它将使用找到的第一个段落或不超过一个...

    hexo-excerpt:Hexo的自动摘录生成器

    $ npm install hexo-excerpt --save 此插件使用es6语法,请确保您的节点支持它。 特征 仍然有效! 如果您像我一样懒惰,则该插件会为您生成摘录,而不会破坏您的句子或代码! 如果未指定标签,则该帖子将使用节选...

    Excerpt_GB7

    本文将基于提供的文件摘要“Excerpt_GB7”深入探讨 DLMS/Green Book 的核心概念和技术细节。 #### 二、DLMS/COSEM 概念框架 1. **客户机/服务器型操作**(第 4.1 节): - 定义了客户端与服务器之间的交互模型,...

    Practical JXTA - Excerpt

    很长很长的英文p2p教材,包括原理,各方面的技术处理等等

    exceRpt:用于对smallRNA-seq数据集进行预处理,过滤,比对和报告的软件

    exceRpt_smallRNA-此编排设计了单个smallRNA-seq样品的处理,过滤和比对。 该脚本是一个makefile, mergePipelineRuns.R-此脚本将包含一个或多个包含上述管道输出的子目录或zipfile的目录作为输入。 通过这种方式...

    摘要编辑插件Excerpt Editor1.4汉化包 for WordPress.zip

    WordPress摘要编辑插件Excerpt Editor1.4汉化包 插件简介:由于wordpress博客不支持摘要编辑,造成博客的体积庞大,下了一个摘要编辑插件Excerpt Editor,为博客减减负瘦下身! 使用方法: 下载中文包解压后...

    Risk IT Framework Excerpt

    在信息时代,信息安全与风险治理是企业IT管理中最为重要的议题之一。ISACA(信息系统审计与控制协会)是一个在全球范围内拥有超过86,000名成员的机构,它在160多个国家提供关于信息系统保证、安全、企业IT治理、IT...

    mysql-tutorial-excerpt-5.1-en

    文档中明确指出了其版权归属,并对商标进行了声明,包括Sun、Sun Microsystems、Sun logo、Java、Solaris、StarOffice、MySQL Enterprise Monitor 2.0、MySQL logo以及MySQL等均为Sun Microsystems, Inc.在美国及...

    Green_Book_Ed8.3_EXCERPT-2017_DLMS_

    "Green_Book_Ed8.3_EXCERPT-2017_DLMS" 提到的是2017年版本的一个摘录,重点关注DLMS(Distributed Local Management System,分布式局部管理系统)协议。DLMS是一种广泛应用的通信协议,主要用于电力系统中的智能...

    Flex on Java book excerpt: Securing your Flex application

    《Flex on Java book excerpt: Securing your Flex application》是一篇关于如何在Java环境中确保Flex应用程序安全性的文章。Flex是Adobe开发的一种富互联网应用程序(RIA)框架,它允许开发者创建交互性强、用户...

    Zend_PHP_Certification_Guide_Excerpt

    ... ...### 关键术语理解 ...- **表达式**:由操作符连接的变量或常量组成的单元,用于计算值。...- **运算与运算符优先级**:涉及算术、比较、逻辑等多种运算符及其执行顺序。...- **条件结构**:根据不同的条件执行不同的代码块...

    Green_Book_Edition_9-Excerpt_DLMSbook_greenbookdlms_green_dlmsgr

    本压缩包包含了《绿皮书》第九版的摘录,名为"Green_Book_Edition_9-Excerpt.pdf",对深入理解和应用DLMS协议具有极高价值。 1. DLMS协议概述:DLMS协议,全称Distributed Language Management System,设计目标是...

Global site tag (gtag.js) - Google Analytics