这篇文章主要介绍了php实现scws中文分词搜索的方法,详细介绍了scws中文分词搜索的具体步骤与相关使用技巧,并提供了scws的本站下载地址,需要的朋友可以参考下
本文实例讲述了php实现scws中文分词搜索的方法。分享给大家供大家参考,具体如下:
1、4个文件(本站下载地址。
)解压后,放到一个地方 eg:E:/wamp/scws
2、php.ini 中配置
extension = php_scws.dll scws.default.charset = utf8 //配置默认的编码方式 scws.default.fpath = "E:/wamp/scws" //加压后文件的路径
3、使用
$so = scws_new(); $so->set_charset('utf8'); //编码 // 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件 $so->add_dict(ini_get('scws.default.fpath') . '/dict.utf8.xdb'); //$so->add_dict('./dd.txt',SCWS_XDICT_TXT); $so->set_rule(ini_get('scws.default.fpath') . '/rules.utf8.ini'); $so->set_duality(0); //散字二元 $so->set_ignore(0); //忽略标点符号 $so->set_multi(0); $wd='要搜索的内容'; $so->send_text($wd); while($tmp = $so->get_result()) //遍历后即得到字符串分割后的内容, //根据得到的内容分别到数据库中查找(like匹配) { }
亲自试验了一下如下:
<!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=utf-8" /> <title>test</title> </head> <body> <?php function search($keywords,$table,$key1,$key2){ // (要查找的字符串,表名,字段一,字段二)如果就一个字段的话,$key2=''; $arr=array(); $str=array(); if( preg_match("/^[^\x80-\xff]+$/", $keywords)){//判断keywords是否全为英文,全为英文的话按照字符串切割处理 $str1=explode(' ',$keywords); //先按照空格切割 foreach($str1 as $key=>$value) { $str2=explode(',',$value); //,切割 foreach($str2 as $k=>$v) { $str3=explode('.',$v); //。切割 foreach($str3 as $kk=>$vv) { array_push($arr,$vv);//处理完后,返回一个数组 } } } }else{//对中文的分词处理 $so = scws_new(); $so->set_charset('utf8'); // 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件 $so->add_dict(ini_get('scws.default.fpath') . '/dict.utf8.xdb'); $so->set_rule(ini_get('scws.default.fpath') . '/rules.utf8.ini'); $so->set_duality(0); //散字二元 $so->set_ignore(0); //忽略标点符号 $so->set_multi(0); $so->send_text($keywords); while ($tmp = $so->get_result())//得到一个数组,里面包含词组和标点符号 { foreach($tmp as $key=>$value) { $value=$value["word"]; if(preg_match("/^[一-龥]{6,21}$/", $value))//去除标点符号 { array_push($arr,$value); } } } } foreach($arr as $key=>$value)//便利得到的数组,到数据库中匹配 { if($key2!='') { $sql="select * from `$table` where `$key1` like '%$value%' or `$key2` like '%$value%'"; }else{ $sql="select * from `$table` where `$key1` like '%$value%'"; } $query=mysql_query($sql); array_push($str,$query); } return $str; } include('conn.php'); $keywords="哈哈lsd djk,hdjs dd"; $table='two_key'; $key1='address'; $key2=''; $query=search($keywords,$table,$key1,$key2); foreach($query as $key=>$value) { while($row=mysql_fetch_array($value)) { echo $row[id].'----'.$row[name].'-----'.$row[address].'<br>'; } } ?> </body> </html>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版
Alat pembangunan web visual