ホームページ >バックエンド開発 >PHPチュートリアル >センシティブな単語のフィルタリング
ユーザーが
$str="输入内容123";
坏蛋|1火枪|1超级大坏蛋|1....
効率 バッチ読み取りとフィルタリング..
abc.txt からトライ ツリーを構築し、それを照合します
アルゴリズムはエッセンス領域にあります
からトライ ツリーを構築しますabc.txt を検索して、それと一致させます
アルゴリズム エッセンスエリアのモデレーターさん、こんにちは。投稿がクラスであるのを見ましたが、それを呼び出すにはどうすればよいですか?
使い方がわかりません〜 なんて悲劇でしょう、詳しく教えてください、ありがとうございます
また、ダウンロードしたファイルの各行末に「|1」が付いていますが、なぜ使用されているのでしょうか?
すべての |1 を置き換えます。これは他の人のものです。 物にはそれぞれの用途があります。
すべての |1 を置き換えます。他人のものには独自の用途があります。
答えてくれてありがとう、私はそれを一致させる方法がまだわかりません。 質問する前に、それを一致させるには一行ずつ読まなければならないことを知っていました。
魚を教えてください。私はまだ概念を理解していません~
http://bbs.csdn.net/topics/390221822 の ttrie クラスを例に挙げてみましょう
明らかにあなたのニーズを満たしています
配列を文字列に連結するだけです。結果を出力するとき
キーワードを強調表示したい場合は、これを行うことができます
実際、魚はあなたに与えられているので、自分で行う方が良いです
インスタンス化されたオブジェクトを再利用するには、以下も追加する必要がありますデータ ポインターを再初期化するために match メソッドの先頭で
trie = new TTrie;foreach(file('abc.txt') as $r) $trie->set(strtok($r, '|'));$s =<<< TXT输入内容坏蛋123TXT;//仅识别print_r($trie->match($s));/* 得Array( [0] => 输入内容 [1] => 坏蛋 [2] => 123)*///去掉字典字$trie->savematch = 0;print_r($trie->match($s));/* 得Array( [0] => 输入内容 [1] => 123)*/を実行します