1

これはややあいまいな質問であり、そのことをお詫びします。

$_POST次のコードを使用して値から取得している単語が多数あります。

$text2check = array();          

$fields = array( "etymology", "distribution", "habitat", "max_size", "aquarium_size", "maintenance", "water_chemistry", "diet",
    "behaviour", "dimorphism", "reproduction", "misc_notes" );

$fields = array( "distribution" );

foreach ( $_POST as $key => $value ) {
    if ( in_array( $key, $fields ) ) {
        $text2check = array_merge( $text2check, explode( " ", strip_tags( utf8_decode( $value ) ) ) );
    }
}

私がやろうとしているのは、絶対的な最大効率で、特定の単語を削除することです:

  • 重複
  • 4 文字以下の単語
  • 一般的な用語...

一般的な用語は、私がよく知らないものです。共通語はどうやって決めるの?それは単に、インターネット上で見られる一般的な用語の配列をハードコーディングして比較するだけのケースですか?

配列と配列を比較する場合、最も効率的な方法は何ですか?


編集:説明

この関数の背後にある目的は、説明するのがやや複雑です。この回答に従って、特定の用語をチェックし、それらをウェブサイトの他の部分にリンクするコンテンツ フィルタを実行しようとしています。投稿ごとに膨大な量の単語があり、膨大な量の潜在的なリンクがあるため、フィルターを実行する前に事前チェックを行って、フィルターを実行する必要があるリンクの数を削減しようとしています.

そのため、一般的な用語とは、基本的に、非常に定期的に表示されるものであり、リンクされていないものです。「時々」「もちろん」などのよく使われる用語。


前もって感謝します、

4

1 に答える 1

2

重複を削除するには、array_unique() がうまく機能します。

4 文字以下の単語は、配列をループしてチェックするだけです。

一般的な用語に関する限り、データをループして、X 回以上出現する用語を削除できますが、それ以外はハードコーディングする必要があると思います。

于 2012-06-26T15:23:49.427 に答える