Heim > Artikel > Backend-Entwicklung > Ein Beispiel für den in PHP implementierten Maximum-Forward-Matching-Algorithmus
Dieser Artikel stellt hauptsächlich den in PHP implementierten Maximum-Forward-Matching-Algorithmus vor, beschreibt kurz das Konzept und Prinzip des Maximum-Forward-Matching-Algorithmus und analysiert die zugehörigen Betriebstechniken zur Implementierung und Verwendung des Maximum-Forward-Matching-Algorithmus in PHP in Form von Beispiele. Freunde in Not können sich auf
beziehen. Dieser Artikel beschreibt den in PHP implementierten Maximum-Forward-Matching-Algorithmus. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
Vorwärts-Maximum-Matching-Algorithmus: Ordnen Sie mehrere aufeinanderfolgende Zeichen im zu segmentierenden Text der Wortliste von links nach rechts zu. Wenn es eine Übereinstimmung gibt, wird ein Wort segmentiert. Hier gibt es jedoch ein Problem: Um eine maximale Übereinstimmung zu erreichen, ist es nicht möglich, die erste Übereinstimmung aufzuteilen. Die Funktion
enthält drei Parameter:
$query Abfragewort
$dict Dictionary
$max_len Maximale Länge (hier ist der Standardwert auf 15 eingestellt)
Wörterbuchbeispiel:
$dict = array( '脚本之家'=>'脚本之家', '脚本下载'=>'脚本下载', 'JS编程'=>'JS编程' );
Funktionsdefinition:
/* * $query 查询词 * $dict 词典 * $max_len 最大长度 */ function extractWords($query,$dict,$max_len=15){ $feature = ""; $slen=mb_strlen($query,'UTF8'); $c_bg = 0; while($c_bg<$slen){ $matched = false; $c_len =(($slen-$c_bg)>$max_len)?$max_len:($slen-$c_bg); $t_str = mb_substr($query, $c_bg,$c_len,'UTF8'); for($i=$c_len;$i>1;$i--){ $ttts = mb_substr($t_str, 0,$i,'UTF8'); if(!empty($dict[$ttts])){ // echo 'matched = '.$ttts.PHP_EOL; $matched = true; $c_bg += $i; if(!empty($feature)){ $feature.=","; } $feature.=$ttts; break; } } if(!$matched){ $c_bg++; } } echo $feature.PHP_EOL; }
Verwendung:
$query='欢迎访问脚本之家!脚本之家是国内专业的网站,提供各种脚本下载及JS、Python、php等编程资料'; extractWords($query,$dict);
Laufergebnis:
脚本之家,脚本之家,脚本下载
Eine Analyse und Erklärung der Methode zur Simulation von HTTP-Anfragen in PHP
Das obige ist der detaillierte Inhalt vonEin Beispiel für den in PHP implementierten Maximum-Forward-Matching-Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!