📄 test.php
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP无组件分词-83774725@QQ.com</title>
</head>
<body>
<p align="center"><h3>程序:PHP无组件分词</h3></p>
<p align="center"><h3>作者:83774725@QQ.com</h3></p>
<?php
if($_POST['action']){
require("HJ_SegWord_Class.php");
$starttime = ExecTime();
$HJ_SegWord = new HJ_Segword_Class();
$totaltime =ExecTime()-$starttime ;
echo "载入字典时间: $totaltime 秒<br><br><HR>";
switch ($_POST['action']){
case "seg":
if($_POST['SegWord']!=''){
$str=$_POST['SegWord'];
echo "{$str}<HR><h3>中文分词正向最大匹配算法</h3>";
$starttime = ExecTime();
print_r( $HJ_SegWord->Seg_Word_MM($str));
$totaltime =ExecTime()-$starttime ;
echo "<BR><BR><BR>分词时间: $totaltime 秒<br><br>";
echo "<HR><h3>中文分词正向最小匹配算法</h3>";
$starttime = ExecTime();
print_r( $HJ_SegWord->Seg_Word_NM($str));
$totaltime =ExecTime()-$starttime ;
echo "<BR><BR><BR>分词时间: $totaltime 秒<br><br>";
$HJ_SegWord->Clear();
}
break;
case "isword":
if($word=$_POST['txtIsWord']){
if($HJ_SegWord->IsWord($_POST['txtIsWord'])){
echo "<b><font color=red>{$_POST['txtIsWord']}</font></b>是正确的中文组词";
}else{
echo "<b><font color=red>{$_POST['txtIsWord']}</font></b>不是一个正确的中文组词";
}
}
break;
case "new":
if(method_exists($HJ_SegWord,'add_word')){
if($word=$_POST['txtAddWord']){
$HJ_SegWord->add_word($_POST['txtAddWord']);
echo "添加<b><font color=red>{$_POST['txtAddWord']}</font></b>成功";
}
}else{
echo "<font color=red>免费版不支持增加新词功能,商业合作请与作者联系:<b>83774725@QQ.com</b></font>";
}
break;
case "clear":
if(method_exists($HJ_SegWord,'clear_word')){
if($word=$_POST['txtClearWord']){
if($HJ_SegWord->clear_word($_POST['txtClearWord']))
echo "删除<b><font color=red>{$_POST['txtClearWord']}</font></b>成功";
else
echo "删除<b><font color=red>{$_POST['txtClearWord']}</font></b>失败";
}
}else{
echo "<font color=red>免费版不支持删词功能,商业合作请与作者联系:<b>83774725@QQ.com</b></font>";
}
break;
}
}
function ExecTime(){
$time = explode(" ", microtime());
$usec = (double)$time[0];
$sec = (double)$time[1];
return $sec + $usec;
}
?>
<form id="form1" name="form1" method="post" action="">
<p>请在下面文本框输入待分词文本后然后按分词按钮
<br />
<textarea name="SegWord" cols="80" rows="12">PHP无组件中文分词
版本V1.0.0
Author:hj<83774725@QQ.com>
说明:本技术用于搜索引擎中文分词
程序使用自建词库,存储15多万(免费版10万左右)词,未压缩词库仅1.13M
程序自动过滤了诸如:这█♀样的♂字卍※符
平均每个词查找词库次数为2
使用分词类中的add_word方法可以很轻易扩展词库,稍加扩展可使程序具有学习功能
程序未对RMM和MM分词进行结果组合与筛选
本词库由HJ使用整理,作者保留一切权利,未经许可,不得用于商业用途
使用举例:
$word="PHP无组件中文分词";
require("HJ_SegWord_Class.php");
$HJ_SegWord = new HJ_Segword_Class();
print_r( $HJ_SegWord->Seg_Word_MM($word));//正向算法
print_r( $HJ_SegWord->Seg_Word_RMM($word));//逆向算法
</textarea>
<br />
<br />
<br />
<label>
<input type="submit" name="Submit" value="分词" onclick="document.getElementById('action').value='seg'" />
</label>
<br />
<br />
<br />
<label>
<input type="hidden" name="action" id="action" value="seg" />
判断是否为中文组词
<input type="text" name="txtIsWord" value="<?php echo $word ;?>"/>
</label>
<input type="submit" name="Submit2" value="判断" onclick="document.getElementById('action').value='isword'" />
</p>
<p>
<label>增加新词
<input type="text" name="txtAddWord" value="<?php echo $word ;?>"/>
</label>
<input type="submit" name="Submit22" value="增加" onclick="document.getElementById('action').value='new'" />
</p>
<p>
<label>删除组词
<input type="text" name="txtClearWord" value="<?php echo $word ;?>" />
</label>
<input type="submit" name="Submit22" value="删除" onclick="document.getElementById('action').value='clear'" />
</p>
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -