1

配列を事前定義しました:

$tags = array('PHP', 'Webdesign', 'Wordpress', 'Drupal', 'SQL');

ここで、テキスト領域に値を入力しています。

$text = 'Working With Wordpress Shortcodes and doing some NoSQL and SQL';

文字列値を事前定義された配列と比較するにはどうすればよいですか?

上記に基づいて私が望む望ましい結果は「Wordpress」と「SQL」です

PHPとJQueryでそれを行うことはできますか?

また、次のような正規表現が含まれる場合

Working With Wordpress; Shortcodes: and doing some NoSQL and ""SQL

それでは何をしますか?

4

4 に答える 4

2

あなたはそのようにあなたの文字列を分割する必要があります

$array = explode( ' ', $text );

次に、そのように比較します

$result_array = array_intersect($tags, $array);

これで、result_arrayには、両方の配列にあるすべての値が含まれます:)

于 2012-05-18T11:26:30.033 に答える
0

explodeを使用すると、単語ごとにチェックイン_配列ではなく、文字列が機能するように分割されます

$words = explode(' ', $text);
$result = array();
foreach ($words as $word) {
   if (in_array($word, $tags)) {
      $result[] = $word;
   }
}

注:比較はケースセンシティブになります

于 2012-05-18T11:23:51.023 に答える
0
foreach(explode(' ', $text) as $word) {
  if(in_array($word, $tags)) {
    // This word is in our tags array, do something.
  }
}
于 2012-05-18T11:24:00.283 に答える
0

私はいくつかの解決策を見つけました、そしてそれは私にとって完璧に機能します。まず、文字列を「、」で区切って並べ替えます。

var valsp = $('#desc')。val(); var results = valsp.split(/ \ W + /);

この後、inArray()を使用するだけで、目的の結果が得られます

それが他の人に役立つことを願っています

于 2012-05-19T07:43:49.837 に答える