教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php 中文分词函数代码一例

php 中文分词函数代码一例

发布时间:2015-12-26   编辑:jiaochengji.com
为大家介绍一个php中文分词的函数,可能在某些场合用得上,有需要的朋友,参考下吧。

代码如下:

<?php
/**
 * php 中文分词
 * by http://www.jbxue.com
*/
class Segmentation {
var $options = array('lowercase' => TRUE,
'segment_english' => FALSE);
var $dict_name = 'Unknown';
var $dict_words = array();
function setLowercase($value) {
if ($value) {
$this->options['lowercase'] = TRUE;
} else {
$this->options['lowercase'] = FALSE;
}
return TRUE;
}
function setSegmentEnglish($value) {
if ($value) {
$this->options['segment_english'] = TRUE;
} else {
$this->options['segment_english'] = FALSE;
}
return TRUE;
}
function load($dict_file) {
if (!file_exists($dict_file)) {
return FALSE;
}
$fp = fopen($dict_file, 'r');
$temp = fgets($fp, 1024);
if ($temp === FALSE) {
return FALSE;
} else {
if (strpos($temp, "t") !== FALSE) {
list ($dict_type, $dict_name) = explode("t", trim($temp));
} else {
$dict_type = trim($temp);
$dict_name = 'Unknown';
}
$this->dict_name = $dict_name;
if ($dict_type !== 'DICT_WORD_W') {
return FALSE;
}
}
while (!feof($fp)) {
$this->dict_words[rtrim(fgets($fp, 32))] = 1;
}
fclose($fp);
return TRUE;
}
function getDictName() {
return $this->dict_name;
}
function segmentString($str) {
if (count($this->dict_words) === 0) {
return FALSE;
}
$lines = explode("n", $str);
return $this->_segmentLines($lines);
}
function segmentFile($filename) {
if (count($this->dict_words) === 0) {
return FALSE;
}
$lines = file($filename);
return $this->_segmentLines($lines);
}
function _segmentLines($lines) {
$contents_segmented = '';
foreach ($lines as $line) {
$contents_segmented .= $this->_segmentLine(rtrim($line)) . " n";
}
do {
$contents_segmented = str_replace(' ', ' ', $contents_segmented);
} while (strpos($contents_segmented, ' ') !== FALSE);
return $contents_segmented;
?>

您可能感兴趣的文章:
php记录搜索引擎关键词的代码示例
PHP中文分词 自动获取关键词的方法
HubbleDotNet 索引分词的测试方法和分词技巧
php实现中文分词的例子
如何安装 php scws(分词组件)?
php 统计字数(支持中英文)的实现代码
PHP统计字符串中单词出现次数的函数
php中文分词与自动获取关键词的方法
php 中文分词函数代码一例
php替换html内容的小函数

[关闭]
~ ~