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.