Mysql
 sql >> база данни >  >> RDS >> Mysql

как да преброя съвпадащите ключови думи с помощта на select в mysql codeigniter php?

От страна на php има много опции за преброяване на ключовите думи във вашия масив. Ако имате нужда от допълнителна функционалност, като съвпадение без регистър или граници на думи какво ще кажете за използването на regex .

Идея с preg_match_all

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

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

Моделът е просто редуване от двете ключови думи с помощта на група без прихващане . След затварящия разделител на шаблон ~ използва i флаг за съвпадение без регистър. Regex101 е хубаво място за тестване на шаблон.

Ето демонстрация в eval.in

Ако въвеждането е общо, използвайте preg_quote за избягване на определени знаци от специалното значение на регулярния израз.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията RTRIM() в MySQL

  2. mysql:използвайте SET или много колони?

  3. MySQL работи с 127.0.0.1, но не работи с localhost?

  4. Не мога да избера групиране на редове по created_at

  5. .NET, C#, LINQ, SQL и OR-Mapping - просто не го разбирам :(