PHP网站制作之一个用PHP写的中文分词函数
PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。<?phpclassSegmentation{
var$options=array(lowercase=>TRUE,
segment_english=>FALSE);
var$dict_name=Unknown;
var$dict_words=array();
functionsetLowercase($value){
if($value){
$this->options=TRUE;
}else{
$this->options=FALSE;
}
returnTRUE;
}
functionsetSegmentEnglish($value){
if($value){
$this->options=TRUE;
}else{
$this->options=FALSE;
}
returnTRUE;
}
functionload($dict_file){
if(!file_exists($dict_file)){
returnFALSE;
}
$fp=fopen($dict_file,r);
$temp=fgets($fp,1024);
if($temp===FALSE){
returnFALSE;
}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){
returnFALSE;
}
}
while(!feof($fp)){
$this->dict_words=1;
}
fclose($fp);
returnTRUE;
}
functiongetDictName(){
return$this->dict_name;
}
functionsegmentString($str){
if(count($this->dict_words)===0){
returnFALSE;
}
$lines=explode("n",$str);
return$this->_segmentLines($lines);
}
functionsegmentFile($filename){
if(count($this->dict_words)===0){
returnFALSE;
}
$lines=file($filename);
return$this->_segmentLines($lines);
}
function_segmentLines($lines){
$contents_segmented=;
foreach($linesas$line){
$contents_segmented.=$this->_segmentLine(rtrim($line))."n";
}
do{
$contents_segmented=str_replace(,,$contents_segmented);
}while(strpos($contents_segmented,)!==FALSE);
return$contents_segmented;?>
HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样工具。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 本文当是我的笔记啦,遇到的问题随时填充 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
页:
[1]