网页摘要是对网页信息的简单概括,用户通过阅读搜索引擎返回的摘要就能确定自己查找的信息是否包含在这个页面中,本文提供一种简单的自动摘要生成方法,简单提取网页内容的前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);
}