首页 > 技术文章 > DEDE采集时自动生成摘要和关键字

wgphp 2017-11-04 08:38 原文

1、修改 include/dedecollection.class.php

//自动分析关键字和摘要 
preg_match("/<meta[\s]+name=['\"]keywords['\"] content=['\"](.*)['\"]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\"](.*)['\"] name=['\"]keywords['\"]/isU",$this->tmpHtml,$inarr2); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
}

用下面一段代码替换上面的

//自动分析关键字和摘要 
preg_match("/<meta[\s]+name=['\"]keywords['\"] content=['\"](.*)['\"]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\"](.*)['\"] name=['\"]keywords['\"]/isU",$this->tmpHtml,$inarr2); 
preg_match("/<meta[\s]+name=keywords content=['\"](.*)['\"]/isU",$this->tmpHtml,$inarr3); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
} 
if(!isset($inarr[1]) && isset($inarr3[1])) 
{ 
$inarr[1] = $inarr3[1]; 
}

改了上面的, 还有另一个地方需要修改的,网站描述部分

preg_match("/<meta[\s]+name=['\"]description['\"] content=['\"](.*)['\"]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\"](.*)['\"] name=['\"]description['\"]/isU",$this->tmpHtml,$inarr2); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
}

用下面的代码替换掉上面的:

preg_match("/<meta[\s]+name=['\"]description['\"] content=['\"](.*)['\"]/isU",$this->tmpHtml,$inarr); 
preg_match("/<meta[\s]+content=['\"](.*)['\"] name=['\"]description['\"]/isU",$this->tmpHtml,$inarr2); 
preg_match("/<meta[\s]+name=description content=['\"](.*)['\"]/isU",$this->tmpHtml,$inarr3); 
if(!isset($inarr[1]) && isset($inarr2[1])) 
{ 
$inarr[1] = $inarr2[1]; 
} 
if(!isset($inarr[1]) && isset($inarr3[1])) 
{ 
$inarr[1] = $inarr3[1]; 
}

 

推荐阅读