Web Design
Mobile Internet
Brand Design
Innovative
News
Encyclopedias

Batch Optimization of Dedecms Article Keywords Based on Discuz Online Word Segmentation

Date:2012-12-22 Source: Shangpin China Type: website encyclopedia
Word Size: small   medium   big

Batch Optimization of Dedecms Article Keywords Based on Discuz Online Word Segmentation

Dedecms has its own tag (keywords) extraction function( Beijing website production ), but the participle is always not accurate enough. Of course, for users who update more than ten articles a day and implement SEO accurately, manual input can be better controlled( High end website construction )。 However, dede split is not perfect for users with broad themes and large amount of content updates.

Discuz online word segmentation is an online free prompt interface. After that, there are hundreds of thousands of Chinese forums and upsite users, who have more data on the improvement of context and cell thesaurus. This small program is based on the discuz online word segmentation to batch update the keywords (tags) of the sent content. If the data volume is large (more than 50000) or the virtual host users, the best environment is local. The speed will be faster.

To use it, create a cms installation directory, create a new c.php, copy the following content, and use notepad to set the corresponding gbk or utf8 for the corresponding code. Run your website/c.php? id=1

<? php
require_once(dirname(__FILE__).”/ include/common.inc.php”);

$id = isset($id) && is_numeric($id) ? $ id : 0;

for ($a=$id; $a<$id+10; $a++){

 $row = $dsql->GetOne(” SELECT arc.title,tp.body FROM `@__archives` arc LEFT JOIN `@__addonarticle` tp ON arc.id=tp.aid where arc.id=’$a’ “);
 if(is_array($row))
 {
  $title = $row['title'];
  $body = $row['body'];
  $keywords=zhgetkey($title.$body);
  $dsql->ExecuteNoneQuery(” Update `@__archives` set keywords=’$keywords’ where id=’$a’ “);
  echo $a.’:’.$ keywords.’< br />’;
 }
}
 
 if ($a>80000){break;}

echo “<script>”;
echo “setTimeout(”location.replace(‘c.php?id=$a’)”,0)”;
echo “</script>”;

function zhgetkey($contents){
$rows = strip_tags($contents);
$arr = array(‘ ‘,’ ‘,”s”, “rn”, “n”, “r”, “t”, “>”, ““”, “””,”<br />”);
$qc_rows = str_replace($arr, ”, $rows);
if(strlen($qc_rows)>2400){
$qc_rows = substr($qc_rows, ’0′, ’2400′);
}
$data = @implode(”, file(“ //keyword.discuz.com/related_kw.html?title= $qc_rows&ics=gbk&ocs=gbk”));
preg_match_all(“/<kw>(.*)A[(.*)]](.*)></kw>/”,$data, $out, PREG_SET_ORDER);
$key=”";
for($i=0;$i<5;$i++){
$key=$key.$ out[$i][2];
if($out[$i][2])$key=$key.”,”;
}
return $key;
}

function cutstr_html($string, $sublen)   

 {

  $string = strip_tags($string);

  $string = preg_replace (‘/n/is’, ”, $string);

  $string = preg_replace (‘/ | /is’, ”, $string);

  $string = preg_replace (‘/&nbsp;/is’, ”, $string);

    preg_match_all(“/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/”, $string, $t_string);   

  if(count($t_string[0]) – 0 > $sublen) $string = join(”, array_slice($t_string[0], 0, $sublen)).”…”;   

  else $string = join(”, array_slice($t_string[0], 0, $sublen));

    return $string;

 }

?>



Please contact our consultant

+86 10-60259772

Please provide your contact number. The project manager of shangpin China will contact you as soon as possible.