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

come contare le parole chiave abbinate usando select in mysql codeigniter php?

Sul lato php ci sono molte opzioni per contare le parole chiave nel tuo array. Se hai bisogno di funzionalità aggiuntive come la corrispondenza senza maiuscole e minuscole o confini di parole che ne dici di usare regex .

Un'idea con preg_match_all

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

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

Il modello è semplicemente un alternativa delle due parole chiave utilizzando un gruppo non catturante . Dopo il delimitatore di pattern di chiusura ~ utilizzato il i bandiera per la corrispondenza senza maiuscole. Regex101 è un bel posto per testare il modello.

Ecco una demo su eval.in

Se l'input è generico, utilizzare preg_quote per sfuggire a determinati caratteri dal suo significato regex speciale.