如何搜索关键字和主题标签或符号?

时间:2016-01-25 17:45:04

标签: php mysql regex yii

我有一个输入框,用户可以在其中输入关键字或#tag字词,点击搜索按钮后,它会找到包含该关键字或#tags的字段。
1.我试过%喜欢它有效但是如果只搜索#m它会给我所有带有m个字母的单词 我也试过正则表达式  像这样WHERE notes REGEXP '[[:<:]]{$f['activityId']}[[:>:]]'
但它不适用于#tag或其他符号 3.我也使用全文搜索,但它不适用于符号
 我在这里提到全文,我不想重新编译我的mysql Full text search

有没有办法用#tag和符号
搜索关键字 比如:@ amitesh,#amitesh,amitesh等。

1 个答案:

答案 0 :(得分:1)

mysql> SELECT 'foo #amitesh bar' REGEXP '([[:<:]]|#|@)amitesh[[:>:]]';
+---------------------------------------------------------+
| 'foo #amitesh bar' REGEXP '([[:<:]]|#|@)amitesh[[:>:]]' |
+---------------------------------------------------------+
|                                                       1 |
+---------------------------------------------------------+

我认为#和单词start([[:<:]])并不能很好地融合在一起。所以,为了寻找@amitesh,#amitesh,amitesh中的任何一个,我决定开始#或者#Or @&#34;。