sql >> Database teknologi >  >> RDS >> Mysql

hvordan tæller man de matchede søgeord ved hjælp af select i mysql codeigniter php?

På php-siden er der mange muligheder for at tælle søgeordene i dit array. Hvis du har brug for yderligere funktionalitet såsom sagsløs matchning eller ordgrænser hvad med at bruge regex .

En idé med preg_match_all

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

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

Mønsteret er simpelthen en alternation af de to søgeord ved hjælp af en ikke-fangende gruppe . Efter den afsluttende mønsteradskiller ~ brugte i flag til kasseløs matching. Regex101 er et rart sted at teste mønster.

Her er en demo på eval.in

Hvis input er generisk, skal du bruge preg_quote for at undslippe visse tegn fra dets specielle regex-betydning.




  1. MySQL-fejl #1054 - Ukendt kolonne i 'Feltliste'

  2. 4 Fantastiske SQL Server-overvågningsressourcer til databaseadministratorer

  3. Installation af Oracle Database 12c-software på Windows

  4. ClassNotFoundException Når du kører JDBC gennem Javas Servlets