Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie zähle ich die übereinstimmenden Keywords mit select in mysql codeigniter php?

Auf der PHP-Seite gibt es viele Optionen, um die Schlüsselwörter in Ihrem Array zu zählen. Wenn Sie zusätzliche Funktionen benötigen, wie z. B. Übereinstimmung ohne Groß- und Kleinschreibung oder Wortgrenzen wie wäre es mit regex .

Eine Idee mit preg_match_all

$pattern = '~(?:yes|test)~i';

foreach($arr AS $k => $v)
  $arr[$k]['match'] = preg_match_all($pattern, $v['title']." ".$v['msg']);

Das Muster ist einfach eine Alternation der beiden Schlüsselwörter mit einer non-capturing-group . Nach dem schließenden Mustertrennzeichen ~ verwendet den i Flagge für caseless matching. Regex101 ist ein schöner Ort, um Muster zu testen.

Hier ist eine Demo auf eval.in

Wenn die Eingabe generisch ist, verwenden Sie preg_quote um bestimmte Zeichen von ihrer speziellen Regex-Bedeutung zu befreien.