sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo contar las palabras clave coincidentes usando select en mysql codeigniter php?

En el lado de php, hay muchas opciones para contar las palabras clave en su matriz. Si necesita funciones adicionales, como coincidencias sin mayúsculas y minúsculas o límites de palabras ¿qué tal usar regex .

Una 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']);

El patrón es simplemente una alternancia de las dos palabras clave usando un grupo sin captura . Después del delimitador de patrón de cierre ~ utilizó el i bandera para emparejamiento sin caja. Regex101 es un buen lugar para probar el patrón.

Aquí hay una demostración en eval.in

Si la entrada es genérica, use preg_quote para escapar ciertos caracteres de su significado especial de expresiones regulares.