php文章摘要,PHP:如何生成文章摘要
2017年第一篇日志,今天来说说一个我觉得很有意思的东西,文章摘要的生成。主要利用到了正则匹配来完成,下面来详细说说原理。
问题
生成文章摘要,就像下面的图片显示的一样,
困难有如下两点:
汉字的截取问题;
html标签的截取问题。
首先,中文环境下肯定不能用substr来进行截取,如果是英文文章,这样做没问题,如果是中文文章,会导致乱码,因为substr方法是按照ascii码进行截取,而一个汉字占三个字符长度,因此会很容易只截取汉字的一部分,如下:
var_dump(substr('你说斯蒂芬士大夫是领导方式呢开发', 0 , 2));
string(2) "�" // 打印
复制代码
当然,这个很好解决,多字节的字符可以用多字节字符串函数进行处理,打开php.ini,搜索mbstring.dll,将前面的;删除,重启apache后,即可使用多字节字符串处理函数。其中的mb_substr能够进行多字节字符串的截取。
困难二,也是比较麻烦的:html的截取。因为很容易截取一半的标签。当然,也有很多解决方法,如:
方法一,利用strip_tags除去所有的html标签,之后采用mb_substr进行截取,避免截取标签错误。当然,这样做的话,显示的文章没有任何样式,是纯文本;
方法二,可以在写文章时添加一个标志位,再利用mb_substr和mb_strpos来截取从开始到标志位的地方作为文章摘要。这个很不推荐,手动添加很恶心,影响文章书写,你不能让用户去做这个;
方法三,是对进行截取后的html进行分析,补齐未闭合的标签,删除错误的标签,这就需要用到正则了。
原理
我采用的方法就是第三种,利用正则来过滤和补充html内容,生成完整的文章摘要。
首先利用mb_substr对需要生成摘要的文章进行截取,对于截取后的字符串可能会有几种情况:
正好截取;
截取了一半的标签,如:
测试测试测试测试测试测试测试
这种情况,利用正则表达式来查询开始标签和结束标签,如果两个标签的数量不一致,那么说明有标签未闭合,同时可以得到未闭合的标签并将其补齐。
需要注意的是,HTML中有不少自闭和的标签,在匹配时注意去除这些内容,包括img,br,hr,link,meta,input等
错误的标签,如
// 一:
测试测试测试测试测试测试测试
测试测试测试测试测试
对这种情况,我的想法是利用正则直接将其删除掉,如错误一,
php文章摘要,PHP:如何生成文章摘要相关推荐
- python智能写作_闲人AI写作智能文章生成-文章伪原创-关键词生成文章工具
闲人AI智能写作介绍(文章生成系统) 输入一个关键词,片刻即可生成一篇文章,文章相关性较好,生成内容相关性.可读性均较好.行业性(专业性)极强勿用!!! 适用人群:SEO从业者.自媒体.网络公司.需要 ...
- Diango博客--7.自动生成文章摘要
文章目录 0.思路引导 1.方法一:覆写 save 方法 2.方法二:使用 truncatechars 模板过滤器 0.思路引导 博客文章的模型有一个 excerpt 字段,这个字段用于存储文章的摘要 ...
- 自动填充html_第 11 篇:自动生成文章摘要
作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 [HelloGitHub-Team 仓库](https://github.com/HelloGitHub-Team/Hello ...
- AI自动文本生成怎么做?这几个工具能自动生成文章
在今天这个数字化时代,AI技术的迅猛发展让我们惊叹不已.其中,AI自动文本生成技术更是让人瞠目结舌.无论是新闻报道.短篇小说.还是商业广告,它都可以通过算法与数据的组合,自动生成高质量.连贯流畅的文章 ...
- Django 快速搭建博客 第十一节(文章阅读量统计,自动生成文章摘要)
这一节主要做一些修补工作,一个是:文章阅读量的统计,另一个是自动生成文章摘要内容 1 . 文章阅读量的统计: 1 文章阅读量的统计,我们需要在model下的Post类中新加入一个views 字段用来统 ...
- Word2vec加TextRank算法生成文章摘要
依赖包:https://download.csdn.net/download/dreamzuora/10853874 代码: String document = "算法可大致分为基本算法.数 ...
- python论文摘要_Python实现提取文章摘要的方法
本文实例讲述了Python实现提取文章摘要的方法.分享给大家供大家参考.具体如下: 一.概述 在博客系统的文章列表中,为了更有效地呈现文章内容,从而让读者更有针对性地选择阅读,通常会同时提供文章的标题 ...
- html HTML1300 进行了导航,jquery根据文章H标签自动生成导航目录
jquery根据文章H标签自动生成导航目录2017-11-19 20:57 在一些旅游网站,比如说途牛.携程这些,当你看某条线路的详情页时,右边会有相应的第一天.第二天等的目录. 这么大的网站,不可能 ...
- python读取word文档结构图_python根据文章标题内容自动生成摘分享的实例
如何用Python玩转TF-IDF之寻找相似文章并生成摘要 应用1:关键词自动生成 核心思想是对于某个文档中的某个词,计算其在这个文档中的标准化TF值,然后计算这个词在整个语料库中的标准化IDF值.在 ...
最新文章
- java圆周率流程图,流程图、PI图入门知识 课件.doc
- SAP PM 入门系列之19 - IP31 Maintenance Plan Costing
- oracle数据库常用的99条查询语句
- 2021年春季学期-信号与系统-第十三次作业参考答案-第九小题
- php 实现一致性hash 算法 memcache
- mysql 源代码学习 博客 [lock..]
- Windows 编程[5] - 学习窗体生成的过程五
- python链表翻转_Python数据结构之旋转链表
- Linux Shell常用技巧(九)
- ASP生成HTML讲座笔记
- IOS开发之----常用函数和常数--秀清
- python基础十一之迭代器和生成器
- Android之自定义属性
- 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向
- 记次浙大月赛 134 - ZOJ Monthly, June 2014
- 系统学习NLP(二十七)--EMLo
- SnippetsLab:让代码信手拈来
- FBI也没辙?超强加密软件TrueCrypt全教程
- fragstats移动窗口
- SIM868_GNSS结果解析