Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como contar as palavras-chave correspondentes usando select no mysql codeigniter php?


No lado do php, existem muitas opções para contar as palavras-chave em seu array. Se você precisar de funcionalidades adicionais, como correspondência sem maiúsculas e minúsculas ou limites de palavras que tal usar regex .

Uma ideia com preg_match_all
$pattern = '~(?:yes|test)~i';

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

O padrão é simplesmente uma alternância das duas palavras-chave usando um grupo sem captura . Após o fechamento do delimitador de padrão ~ usou o i bandeira para correspondência sem maiúsculas e minúsculas. Regex101 é um bom lugar para testar o padrão.

Aqui está uma demonstração em eval.in

Se a entrada for genérica, use preg_quote para escapar certos caracteres de seu significado regex especial.