<?php
// $Id: index.php 56 2010-09-20 05:32:35Z yd2004 $

/**
 * 工作目录
 * 建议包含文件，使用绝对路径。
 */
define('DIDA_ROOT', getcwd());

require_once DIDA_ROOT . '/includes/bootstrap.inc';
bootstrap('full');// 程序初始化

header('Content-Type: text/plain; charset=utf-8');
set_time_limit(0);
/**
 * 获取词组文本
 */
function get_dict_data() {
  $data = get_term_byvname('tags',$module,'1000');if($data){foreach($data as $val){
		 $content[$val->name] = '<a href="/category/'.$val->tid.'">'.$val->name.'</a>';
	}}
	return $content;
} 

/**
 * 正向最大匹配，如：中华人民共和国，拆分为：中华人民共和国
 * @param (string) $text
 */
function get_tags($text) {
  
  $text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", '。', $text);
  
  $vars = str_split($text, 3);
  $dict = get_dict_data();

  // 字符串长度
  $count = count($vars);
  
  // 词语最大长度
  $max_len = 8;
  
  // 开始位置
  $start = 0;
  
  $keywords = array();
  for ($start; $start < $count; ++$start) {
    
    $i = $start;
    $k = $j = 0;
    $var = '';

    for ($i; $i < $count; $i++, $j++) {
      
      if ($vars[$i] == '。') {
        break;
      }
      
      $var .= $vars[$i];
      
      if (isset($dict[$var])) {
        
        $keywords[$start] = $var;
        $k = $j;
        
      }
      
      if ($j > $max_len) {
        break;
      }
    }
    
    $start += $k;
    
  }
  
  return $keywords ? array_unique($keywords) : false;
}


for($i = 1540; $i < 3800; $i++){
	$article = article_load($i);
	$tags = get_tags($article->body);

	$arr = get_dict_data();

	$tags = array_flip($tags);
	$brr = array_intersect_key($arr,$tags);
	//$text = strtr($article->body,$brr);
	$text = str_replace(array_keys($brr), array_values($brr), $article->body, 10);	
	//db_query("UPDATE {article} SET body = ? WHERE nid = ?", array($text, $i));
	//$text = str_replace(array_values($brr), array_keys($brr), $article->body);	
}