zoukankan      html  css  js  c++  java
  • 搜索查询简单的网页摘要生成

    网页摘要是对网页信息的简单概括,用户通过阅读搜索引擎返回的摘要就能确定自己查找的信息是否包含在这个页面中,本文提供一种简单的自动摘要生成方法,简单提取网页内容的前N个字符作为网页摘要。

    1.博客内容格式

    一般为<div class="XX"><p>XXXXX</p><p>XXXX</p></div>。

    2.自动摘要生成

    2.1字义每段间隔起止变量

    $Begin=0;
    $End=0;

    2.2查找标签位置

    $Begin=strpos($content,"<p>",$End);
    if($Begin==FALSE)break;
    $Begin=$Begin+strlen("<p>");
    $End=strpos($content,"</p>",$Begin);
    if($End==FALSE)break;

    2.3每段内容截取

    $TemAbstract=substr($content,$Begin,$End-$Begin);
    if(strpos($TemAbstract,"<")||strpos($TemAbstract,">"))  -------------------------如果还包括其他特殊标签忽略该段
    continue;

    2.4摘要累加

    $Abstract=$Abstract.$TemAbstract;

    用while(strlen($Abstract)<400)来控制摘要的基本长度

    2.5再处理

    如果摘要过长(>600)再进行一次截取,截取至最后一个标点符号,防止摘要过长造成显示不美观以及简单截取造成的乱码。

    if(strlen($Abstract)>600)
    {
    if(strrpos($Abstract,","))$loc=strrpos($Abstract,",");
    if(strrpos($Abstract,".")>$loc)$loc=strrpos($Abstract,".");
    if(strrpos($Abstract,",")>$loc)$loc=strrpos($Abstract,",");
    if(strrpos($Abstract,"。")>$loc)$loc=strrpos($Abstract,"。");
    $Abstract=substr($Abstract,0,$loc-1);
    }

  • 相关阅读:
    mysql_fetch_row()获取显示数据
    数组上下移动
    croppie 在Angular8 中使用
    关于 element 的 backToTop
    苹果手机new Date()问题
    js精简代码集合
    vue 中使用高德地图, 地图选点
    代替if else 的表单验证方法!
    记一次webpack打包样式加载问题
    echarts 饼图的指示线(labelline) 问题
  • 原文地址:https://www.cnblogs.com/siliconvalley/p/3133336.html
Copyright © 2011-2022 走看看