sql >> データベース >  >> RDS >> Mysql

mysql codeigniter phpでselectを使用して一致したキーワードをカウントする方法は?

    php側には、配列内のキーワードを数えるための多くのオプションがあります。ケースレスマッチングや単語の境界 などの追加機能が必要な場合 regex を使用するのはどうですか 。

    preg_match_allのアイデア

    $pattern = '~(?:yes|test)~i';
    
    foreach($arr AS $k => $v)
      $arr[$k]['match'] = preg_match_all($pattern, $v['title']." ".$v['msg']);
    

    パターンは、単に代替 です。 非キャプチャグループ> 。終了後、パターン区切り文字 iを使用しました フラグ ケースレスマッチング用。 Regex101 パターンをテストするのに最適な場所です。

    これは、eval.inのデモです

    入力が一般的な場合は、 preg_quoteを使用します 特別な正規表現の意味から特定の文字をエスケープします。




    1. postgresqlパーティション上の一意のインデックス

    2. PostgreSQL:一意の制約または一意のインデックス

    3. WordPressデータベースからプラグインを非アクティブ化する方法

    4. djangoのpostgresqlデータベースに新しいアイテムを保存しているときにIntegrityError?