


So implementieren Sie die chinesische Wortsegmentierungssuche von scws in PHP
Jul 29, 2016 am 09:09 AMDas Beispiel in diesem Artikel beschreibt die Methode zur Implementierung der chinesischen Wortsegmentierungssuche von scws in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1. 4 Dateien (Download-Adresse auf dieser Website.) Nach dem Entpacken legen Sie sie an einem Ort ab, z. B.: E:/wamp/scws
2, konfigurieren Sie
extension = php_scws.dll scws.default.charset = utf8 //配置默認(rèn)的編碼方式 scws.default.fpath = "E:/wamp/scws" //加壓后文件的路徑
in php.ini 3. Verwenden Sie
$so = scws_new(); $so->set_charset('utf8'); //編碼 // 這里沒(méi)有調(diào)用 set_dict 和 set_rule 系統(tǒng)會(huì)自動(dòng)試調(diào)用 ini 中指定路徑下的詞典和規(guī)則文件 $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); //忽略標(biāo)點(diǎn)符號(hào) $so->set_multi(0); $wd='要搜索的內(nèi)容'; $so->send_text($wd); while($tmp = $so->get_result()) //遍歷后即得到字符串分割后的內(nèi)容, //根據(jù)得到的內(nèi)容分別到數(shù)據(jù)庫(kù)中查找(like匹配) { }
, um es wie folgt pers?nlich zu testen :
<!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" c /> <title>test</title> </head> <body> <?php function search($keywords,$table,$key1,$key2){ // (要查找的字符串,表名,字段一,字段二)如果就一個(gè)字段的話,$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);//處理完后,返回一個(gè)數(shù)組 } } } }else{//對(duì)中文的分詞處理 $so = scws_new(); $so->set_charset('utf8'); // 這里沒(méi)有調(diào)用 set_dict 和 set_rule 系統(tǒng)會(huì)自動(dòng)試調(diào)用 ini 中指定路徑下的詞典和規(guī)則文件 $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); //忽略標(biāo)點(diǎn)符號(hào) $so->set_multi(0); $so->send_text($keywords); while ($tmp = $so->get_result())//得到一個(gè)數(shù)組,里面包含詞組和標(biāo)點(diǎn)符號(hào) { foreach($tmp as $key=>$value) { $value=$value["word"]; if(preg_match("/^[一-龥](méi){6,21}$/", $value))//去除標(biāo)點(diǎn)符號(hào) { array_push($arr,$value); } } } } foreach($arr as $key=>$value)//便利得到的數(shù)組,到數(shù)據(jù)庫(kù)中匹配 { 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>
Ich hoffe, dieser Artikel wird für alle hilfreich sein, die sich mit PHP-Programmierung befassen.
Das Obige stellt die Methode zur Implementierung der chinesischen Wortsegmentierungssuche von scws in PHP vor, einschlie?lich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgeh?use + hochaufl?sende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangeh?use/Keramikgeh?use + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgef?? und Sicherheit hinzugefügt

Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erl?uterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr h?ufig bei Aktualisierungsvorg?ngen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erl?utert und seine Funktionalit?t anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

Was ist Identit?t in SQL? In SQL ist Identit?t ein spezieller Datentyp, der zum Generieren automatisch inkrementierender Zahlen verwendet wird. Er wird h?ufig verwendet, um jede Datenzeile in einer Tabelle eindeutig zu identifizieren. Die Spalte ?Identit?t“ wird oft in Verbindung mit der Prim?rschlüsselspalte verwendet, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat. In diesem Artikel wird die Verwendung von Identity detailliert beschrieben und es werden einige praktische Codebeispiele aufgeführt. Die grundlegende M?glichkeit, Identity zu verwenden, besteht darin, Identit beim Erstellen einer Tabelle zu verwenden.

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verst?ndnis der Grundursache des Problems kann dabei helfen, die richtige L?sung zu finden. Hier sind die h?ufigsten Gründe, warum das Snipping Tool m?glicherweise nicht ordnungsgem?? funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool ge?ffnet wird. Besch?digte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es m?glicherweise besch?digt. Veraltete Grafiktreiber: Inkompatible Treiber k?nnen das Snipping-Tool beeintr?chtigen. St?rungen durch andere Anwendungen: Andere laufende Anwendungen k?nnen mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler w?hrend des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache L?sung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

1. Funktionsübersicht Mit der Keyspace-Benachrichtigung k?nnen Clients Ereignisse empfangen, die Rediskey-?nderungen auf irgendeine Weise ?ndern, indem sie Kan?le oder Muster abonnieren. Alle Befehle, die Tastenkombinationen ?ndern. Alle Schlüssel, die den Befehl LPUSHkeyvalue[Wert…] erhalten haben. Alle abgelaufenen Schlüssel in der Datenbankdatenbank. Ereignisse werden über die Abonnement- und Ver?ffentlichungsfunktionen (Pub/Sub) von Redis verteilt, sodass alle Clients, die Abonnement- und Ver?ffentlichungsfunktionen unterstützen, die Keyspace-Benachrichtigungsfunktion ohne ?nderungen direkt verwenden k?nnen. Da die aktuellen Abonnement- und Ver?ffentlichungsfunktionen von Redis bei Ihrem Programm eine Fire-and-Forget-Strategie verfolgen

Eine nicht patchbare Schwachstelle im Yubico-Zwei-Faktor-Authentifizierungsschlüssel hat die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Ger?te beeintr?chtigt. Die Feitian A22 JavaCard und andere Ger?te, die TPMs der Infineon SLB96xx-Serie verwenden, sind ebenfalls anf?llig.Alle

Aufgetretene Probleme: W?hrend des Entwicklungsprozesses werden Sie auf Schlüssel sto?en, die nach bestimmten Regeln stapelweise gel?scht werden müssen, z. B. login_logID (ID ist eine Variable). Jetzt müssen Sie Daten wie ?login_log*“ l?schen, aber redis selbst verfügt nur über Befehlsschlüssel für Klassenschlüsselwerte, es gibt jedoch keinen Befehl zum Stapell?schen einer bestimmten Klasse. L?sung: Zuerst abfragen, dann l?schen, xargs verwenden, um Parameter zu übergeben (xargs kann Pipe- oder Standardeingabedaten (stdin) in Befehlszeilenparameter umwandeln), zuerst die Abfrageanweisung ausführen und dann den abgefragten Schlüsselwert und die ursprünglichen del-Parameter entfernen. l?schen. redis-cliKEYSkey* (Suchbedingung)|xargsr

Methoden zum L?schen von Elementen: 1. Verwenden Sie delete(), um das angegebene Element aus dem Set-Objekt zu l?schen. Die Syntax lautet ?setObj.delete(value);“ 2. Verwenden Sie clear(), um alle Elemente im Set-Objekt zu l?schen Die Syntax lautet ?setObj.delete(value);“ ?setObj.clear();“.
