Ejemplo n.º 1
0
function splitWords($str, $style = 'array')
{
    //字典文件太大,防止读取时服务器配置内存不够用
    //@ini_set("memory_limit","30M");
    require_once dirname(__FILE__) . "/utf8_splitword.php";
    $sp = new SplitWord();
    $result = $sp->SplitRMM($str);
    $sp->Clear();
    if ($style == 'string') {
        return $result;
    } else {
        if ($style == 'array') {
            return split(',', $result);
        }
    }
}
Ejemplo n.º 2
0
 /**
  *Ajax检测商机名称
  *
  **/
 public function check()
 {
     import("@.ORG.SplitWord");
     $sp = new SplitWord();
     $m_business = M('Business');
     $useless_words = array(L('COMPANY'), L('LIMITED'), L('DI'), L('LIMITED_COMPANY'));
     if ($this->isAjax()) {
         $split_result = $sp->SplitRMM($_POST['name']);
         if (!is_utf8($split_result)) {
             $split_result = iconv("GB2312//IGNORE", "UTF-8", $split_result);
         }
         $result_array = explode(' ', trim($split_result));
         if (count($result_array) < 2) {
             $this->ajaxReturn(0, '', 0);
             die;
         }
         foreach ($result_array as $k => $v) {
             if (in_array($v, $useless_words)) {
                 unset($result_array[$k]);
             }
         }
         $name_list = $m_business->getField('name', true);
         $seach_array = array();
         foreach ($name_list as $k => $v) {
             $search = 0;
             foreach ($result_array as $k2 => $v2) {
                 if (strpos($v, $v2) > -1) {
                     $v = str_replace("{$v2}", "<span style='color:red;'>{$v2}</span>", $v, $count);
                     $search += $count;
                 }
             }
             if ($search > 2) {
                 $seach_array[$k] = array('value' => $v, 'search' => $search);
             }
         }
         $seach_sort_result = array_sort($seach_array, 'search', 'desc');
         if (empty($seach_sort_result)) {
             $this->ajaxReturn(0, L('ABLE_ADD'), 0);
         } else {
             $this->ajaxReturn($seach_sort_result, L('CUSTOMER_IS_CREATED'), 1);
         }
     }
 }
Ejemplo n.º 3
0
function usingRMM($keyword)
{
    $yuan = trim($keyword);
    $yuan = iconv('UTF-8', 'GB2312', $yuan);
    $tt = $yuan;
    $str = gl($tt);
    $sp = new SplitWord();
    $tt = $sp->SplitRMM($str);
    $cc = $tt;
    if (substr($cc, 0, 3) == "、") {
        $cc = substr($cc, 3);
    }
    if (substr($cc, -3, 3) == "、") {
        $cc = substr($cc, 0, -3);
    }
    $newstr = explode("、", $cc);
    if ($newstr[0] == "") {
        return false;
    }
    for ($i = 0; $i < count($newstr); $i++) {
        $newstr[$i] = iconv("gb2312", "UTF-8", $newstr[$i]);
    }
    return $newstr;
}
Ejemplo n.º 4
0
 function q($wd, $domain = '')
 {
     global $db;
     $this->db =& $db;
     $this->wd = $wd;
     if (empty($wd)) {
         $sql = "select * from ve123_links where title<>'' order by updatetime desc";
     } elseif (!empty($domain)) {
         if ($domain == getdomain($domain)) {
             $sql = "select * from ve123_links where title<>'' and url like '%." . $domain . "%' or url like '%//" . $domain . "%'";
             //echo $sql;
         } else {
             $sql = "select * from ve123_links where title<>'' and url regexp 'http://" . $domain . "'";
             //echo $sql;
         }
     } else {
         $this->update_keywords();
         require PATH . "include/splitword.func.php";
         $sp = new SplitWord();
         $wd_split = $sp->SplitRMM($wd);
         $sp->Clear();
         $this->wd_split = $wd_split = ereg_replace("[ ]{1,}", " ", trim($wd_split));
         $this->wd_array = $wd_array = explode(" ", $wd_split);
         $this->wd_count = $wd_count = count($wd_split);
         //echo $wd_count;
         $tgarray = $this->GetTg();
         $tgarray_count = count($tgarray);
         $ordersql = " order by (";
         foreach ($wd_array as $value) {
             $strlen = strlen($value);
             if ($strlen > 2) {
                 $points = $strlen;
             } else {
                 $points = 1;
             }
             $ordersql .= "(case when title like '%" . $value . "%' then " . $points . " else 0 end)+";
         }
         $ordersql .= "(case when title like '%" . $wd . "%' then 8 else 0 end)";
         // $ordersql=rtrim($ordersql,"+");
         $ordersql .= ") desc,updatetime desc";
         $keywordsql = $this->GetKeywordSql("title,' ',url,' ',keywords,' ',fulltxt");
         if (empty($keywordsql)) {
             $keywordsql = "title like '%" . $wd . "%'";
         }
         $sql = "select * from ve123_links where title<>'' and " . $keywordsql . $ordersql;
         //
         //
     }
     //echo $sql;
     $query = $db->query($sql);
     $this->total = $total = $db->num_rows($query) + $tgarray_count;
     $pagesize = 10;
     $this->totalpage = $totalpage = ceil($total / $pagesize);
     $p = intval($_GET["p"]);
     if ($p <= 0) {
         $p = 1;
     }
     $offset = ($p - 1) * $pagesize;
     $query = $db->query($sql . " limit {$offset},{$pagesize}");
     while ($row = $db->fetch_array($query)) {
         $data["title"] = $this->GetRedKeyWord(replace_filter_word(str_cut($row["title"], 60)));
         $data["txt"] = $this->GetRedKeyWord(replace_filter_word(str_cut($row["fulltxt"], 250)));
         $data["description"] = $this->GetRedKeyWord(replace_filter_word(str_cut($row["description"], 250)));
         $data["url"] = str_cut($row["url"], 50);
         $data["updatetime"] = date("Y-m-d", $row["updatetime"]);
         $data["pagesize"] = $row["pagesize"];
         $data["link_id"] = $row["link_id"];
         $data["tuiguang"] = $row["tuiguang"];
         $array[] = $data;
     }
     $array_count = count($array);
     if (empty($array_count)) {
         $newarray = $tgarray;
     } elseif ($p == 1 && $tgarray_count > 0) {
         $newarray = array_merge($tgarray, $array);
     } else {
         $newarray = $array;
     }
     return $newarray;
 }
	$description = stripslashes(cn_substr(html2text($body),$cfg_auot_description));
	$description = trim(preg_replace("/#p#|#e#/","",$description));
	$description = addslashes($description);
}
//把内容中远程的图片资源本地化
//------------------------------------
if($cfg_isUrlOpen && $remote==1){
	$body = GetCurContent($body);
}
//自动获取关键字
//----------------------------------
if($autokey==1){
	require_once(DEDEADMIN."/../include/pub_splitword_www.php");
	$keywords = "";
	$sp = new SplitWord();
	$titleindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM($title))));
	$allindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM(Html2Text($body)),200)));
	if(is_array($allindexs) && is_array($titleindexs)){
		foreach($titleindexs as $k){
			if(strlen($keywords)>=50) break;
			else $keywords .= $k." ";
		}
		foreach($allindexs as $k){
			if(strlen($keywords)>=50) break;
			else if(!in_array($k,$titleindexs)) $keywords .= $k." ";
	  }
	}
	$sp->Clear();
	unset($sp);
	$keywords = preg_replace("/#p#|#e#/","",$keywords);
	$keywords = addslashes($keywords);
Ejemplo n.º 6
0
        $_POST['summary'] = check::csubstr(trim(str_replace("&nbsp;", " ", str_replace("\r\n", "", strip_tags($_POST['intro'])))), 0, $arrGWeb['db_summary_len']);
    }
    if ($_POST['title'] != '') {
        $_POST['title_md5'] = md5($_POST['title']);
    }
    if (is_array($_POST['photo'])) {
        $_POST['thumbnail'] = $_POST['photo'][0]['photo'];
    } else {
        $_POST['thumbnail'] = $_POST['photo'];
    }
    $_POST['photo'] = array_values($_POST['photo']);
    $_POST['video'] = array_values($_POST['video']);
    #自动拆字生成tag
    if (empty($_POST['tag'])) {
        $objSP = new SplitWord();
        $_POST['tag'] = $objSP->SplitRMM($_POST['title'], false);
    }
    $_POST = array_merge($arrInfo, $_POST);
    $objWebInit->saveInfo($_POST, 1);
    $objWebInit->updateCache($_POST['id'], $_POST['type_id'], $arrMOutput);
    check::WindowLocation('index.php', 'page=' . $_GET['page']);
}
if (!is_array($arrMType) || empty($arrMType)) {
    $arrMType = $objWebInit->getTypeList();
    $arrMType = $objWebInit->formatTypeList(0, $arrMType);
}
// 输出到模板
$arrMOutput["template_file"] = "admin.html";
$arrMOutput["smarty_assign"]['FileCallPath'] = $objWebInit->arrGPic['FileCallPath'];
$arrMOutput["smarty_assign"]['FileListPicSize'] = $objWebInit->arrGPic['FileListPicSize'];
$arrMOutput["smarty_assign"]['arrData'] = $arrInfo;
Ejemplo n.º 7
0
$arrWhere = array();
$arrLink = array();
$arrWhere[] = "pass='******'";
$strLink = '';
if (!empty($_REQUEST['keywords'])) {
    $strKeywords = strval(urldecode($_REQUEST['keywords']));
    if ($strKeywords[0] == '/') {
        //精确查询ID
        $strKeywords = substr($strKeywords, 1);
        if (is_numeric($strKeywords)) {
            $arrWhere[] = "id = '" . $strKeywords . "'";
        }
    } else {
        $strKeywords = strval(urldecode($_REQUEST['keywords']));
        $objSP = new SplitWord();
        $strok = $objSP->SplitRMM($strKeywords);
        $arrKeywords = explode(' ', $strok);
        foreach ($arrKeywords as $v) {
            $v = trim($v);
            if (!empty($v)) {
                $arrWhere[] = "tag LIKE '%{$v}%'";
            }
        }
    }
    $arrLink[] = 'keywords=' . urlencode($strKeywords);
} else {
    check::AlertExit("错误:关键词必须填写!", -1);
}
if (empty($_GET['page'])) {
    $intPage = 1;
} else {
Ejemplo n.º 8
0
 $arraysi = $result->getRows($i_sqlstr, $conn);
 $smarty->assign("video_type", $arraysi);
 //获取更多相关视频
 require "splitword.php";
 //进行分词处理
 require "common/function.php";
 //过滤标点
 if (isset($_GET["video_name"])) {
     $keyword = urldecode($_GET['video_name']);
     //获取内容
 }
 $yuan = trim($keyword);
 $tt = $yuan;
 $str = gl($tt);
 $sp = new SplitWord();
 $sp->SplitRMM($str);
 $tt = $sp->SplitRMM($str);
 //$sp->Clear();
 $str = array(" ", "");
 //定义一个数组
 $cc = str_replace($str, "", $tt);
 //去掉字符串中的空格
 if (substr($cc, 0, 2) == "、") {
     $cc = substr($cc, 2);
     //去掉前面的“、”符号
 }
 if (substr($cc, -2, 2) == "、") {
     $cc = substr($cc, 0, -2);
     //去掉后面的“、”符号
 }
 if (substr($cc, 0, 2) == "、" && substr($cc, -2, 2) == "、") {
Ejemplo n.º 9
0
 public function check()
 {
     import("@.ORG.SplitWord");
     $sp = new SplitWord();
     $m_leads = M('Leads');
     $m_customer = M('Customer');
     //ignore words
     $useless_words = array(L('COMPANY'), L('LIMITED'), L('OF'), L('COMPANY_LIMITED'));
     if ($this->isAjax()) {
         $split_result = $sp->SplitRMM($_POST['name']);
         if (!is_utf8($split_result)) {
             $split_result = iconv("GB2312//IGNORE", "UTF-8", $split_result);
         }
         $result_array = explode(' ', trim($split_result));
         if (count($result_array) < 2) {
             $this->ajaxReturn(0, '', 0);
             die;
         }
         foreach ($result_array as $k => $v) {
             if (in_array($v, $useless_words)) {
                 unset($result_array[$k]);
             }
         }
         $leads_commpany_list = $m_leads->getField('name', true);
         $customer_commpany_list = $m_customer->getField('name', true);
         $search_array = array();
         foreach ($leads_commpany_list as $k => $v) {
             $search = 0;
             foreach ($result_array as $k2 => $v2) {
                 if (strpos($v, $v2) > -1) {
                     $v = str_replace("{$v2}", "<span style='color:red;'>{$v2}</span>", $v, $count);
                     $search += $count;
                 }
             }
             if ($search > 2) {
                 $search_array[$k] = array('value' => $v, 'search' => $search);
             }
         }
         $seach_sort_result['leads'] = array_sort($search_array, 'search', 'desc');
         $customer_search_array = array();
         foreach ($customer_commpany_list as $k => $v) {
             $search = 0;
             foreach ($result_array as $k2 => $v2) {
                 if (strpos($v, $v2) > -1) {
                     $v = str_replace("{$v2}", "<span style='color:red;'>{$v2}</span>", $v, $count);
                     $search += $count;
                 }
             }
             if ($search > 2) {
                 $customer_search_array[$k] = array('value' => $v, 'search' => $search);
             }
         }
         $seach_sort_result['customer'] = array_sort($customer_search_array, 'search', 'desc');
         $leads_search = $seach_sort_result['leads'];
         $customer_search = $seach_sort_result['customer'];
         if (empty($leads_search) && empty($customer_search)) {
             $this->ajaxReturn(0, L('YOU_CAN_ADD'), 0);
         } else {
             $this->ajaxReturn($seach_sort_result, L('EXIST_SAME_LEADS_OR_COMPANY'), 1);
         }
     }
 }
  function GetKeywords($keyword){
	   $keyword = cn_substr($keyword,50);
	   $row = $this->dsql->GetOne("Select spwords From #@__search_keywords where keyword='".addslashes($keyword)."'; ");
	   if(!is_array($row)){
		   if(strlen($keyword) > 16){
		      $sp = new SplitWord();
	        $keywords = $sp->SplitRMM($keyword);
	        $sp->Clear();
	        $keywords = ereg_replace("[ ]{1,}"," ",trim($keywords));
	     }else{
	        $keywords = $keyword;
	     }
	     $inquery = "INSERT INTO `#@__search_keywords`(`keyword`,`spwords`,`count`,`result`,`lasttime`)
          VALUES ('".addslashes($keyword)."', '".addslashes($keywords)."', '1', '0', '".time()."');
       ";
	     $this->dsql->ExecuteNoneQuery($inquery);
	  }else{
		   $this->dsql->ExecuteNoneQuery("Update #@__search_keywords set count=count+1,lasttime='".time()."' where keyword='".addslashes($keyword)."'; ");
		   $keywords = $row['spwords'];
	  }
	  return $keywords;
  }
Ejemplo n.º 11
0
/**
 * [SplitWord 分词]
 * @param [type] $str [description]
 */
function SplitWord($str)
{
    vendor('SplitWord/SplitWord');
    $split = new SplitWord();
    $data = $split->SplitRMM($str);
    p($data);
    $split->Clear();
    return $data;
}
Ejemplo n.º 12
0
 function q($wd, $domain = '')
 {
     global $db;
     $this->db =& $db;
     $this->wd = $wd;
     require "../include/splitword.func.php";
     $sp = new SplitWord();
     $wd_split = $sp->SplitRMM($wd);
     $sp->Clear();
     $this->wd_split = $wd_split = ereg_replace("[ ]{1,}", " ", trim($wd_split));
     $this->wd_array = $wd_array = explode(" ", $wd_split);
     $this->wd_count = $wd_count = count($wd_split);
     //echo $wd_count;
     $tgarray = $this->GetTg();
     $tgarray_count = count($tgarray);
     $ordersql = " order by  links.tuiguang desc,(";
     foreach ($wd_array as $value) {
         $ordersql .= "(case when links.title like '%" . $value . "%' then 1 else 0 end)+";
     }
     $ordersql .= "(case when links.title like '%" . $wd . "%' then 8 else 0 end)";
     // $ordersql=rtrim($ordersql,"+");
     $ordersql .= ") desc";
     $keywordsql = $this->GetKeywordSql("links.title,' ',links.url,' ',links.keywords");
     if (empty($keywordsql)) {
         $keywordsql = "links.title like '%" . $wd . "%'";
     }
     if (empty($domain)) {
         $sql = "select links.*,sites.qp from kuaso_links links left join kuaso_sites sites on links.site_id=sites.site_id where links.title<>'' and " . $keywordsql . $ordersql;
     } else {
         if ($domain == getdomain($domain)) {
             $sql = "select * from kuaso_links where title<>'' and url like '%." . $domain . "%' or url like '%//" . $domain . "%'";
             //echo $sql;
         } else {
             $sql = "select * from kuaso_links where title<>'' and url regexp 'http://" . $domain . "'";
             //echo $sql;
         }
     }
     //echo $sql;
     $query = $db->query($sql);
     $this->total = $total = $db->num_rows($query) + $tgarray_count;
     $pagesize = 10;
     $this->totalpage = $totalpage = ceil($total / $pagesize);
     $p = intval($_GET["p"]);
     if ($p <= 0) {
         $p = 1;
     }
     $offset = ($p - 1) * $pagesize;
     $query = $db->query($sql . " limit {$offset},{$pagesize}");
     while ($row = $db->fetch_array($query)) {
         $data["title"] = $this->GetRedKeyWord(str_cut($row["title"], 60));
         $data["txt"] = $this->GetRedKeyWord(str_cut($row["fulltxt"], 250));
         $data["url"] = str_cut($row["url"], 50);
         $data["updatetime"] = date("Y-m-d", $row["updatetime"]);
         $data["pagesize"] = $row["pagesize"];
         $data["link_id"] = $row["link_id"];
         $data["tuiguang"] = $row["tuiguang"];
         $array[] = $data;
     }
     $array_count = count($array);
     if (empty($array_count)) {
         $newarray = $tgarray;
     } elseif ($p == 1 && $tgarray_count > 0) {
         $newarray = array_merge($tgarray, $array);
     } else {
         $newarray = $array;
     }
     return $newarray;
 }