有关站内搜索的一个简单问题

Anew_G 2012-10-26 07:54:48
匹配到关键字的文章,只显示出关键字所在位置的左右定长字符串,逻辑思路是怎样的呢?

好比搜索“CSDN”,返回结果 ...当月中的微软MVP的CSDN会员名单揭晓了,祝贺....

关键字左右10个字符。
...全文
155 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Anew_G 2012-10-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

.....where `key` like '%$key%' and char_length(`key`)=20+char_length($key) and instr(`key`,'$key')=11

这样应该可以了
[/Quote]

嗯,我也可以在php端来截



$start=strpos(string,key)-10;
$end=strrpos(string,key)+10;
$length=$end-$start;

substr(string,$start,$length);

一起混吧 2012-10-27
  • 打赏
  • 举报
回复
.....where `key` like '%$key%' and char_length(`key`)=20+char_length($key) and instr(`key`,'$key')=11

这样应该可以了
Anew_G 2012-10-27
  • 打赏
  • 举报
回复
还有人在不?
Anew_G 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

.....where `key` like '%$key%' and char_length(`key`)=20+char_length($key) ...
[/Quote]

这个是不是返回匹配到'%$key%'并且长度大于 (20+'%$key%')长度的值?并不能保证我要匹配的东西在字符串正中位置吧?
ayzen1988 2012-10-26
  • 打赏
  • 举报
回复
高手啊,还没用过这SQL
一起混吧 2012-10-26
  • 打赏
  • 举报
回复
.....where `key` like '%$key%' and char_length(`key`)=20+char_length($key) ...

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧