2

目前我使用SELECT id FROM table WHERE text LIKE '%{$keyword}%';which 简单有效,但我想知道如何在关键字之前和之后显示几个周围的单词。请参阅示例以更好地理解:

关键词:

音乐

文本(MySQL 中的文本字段):

《温柔的怜悯》是一部 1983 年的美国剧情片。罗伯特杜瓦尔(如图)扮演麦克斯莱奇,一位正在康复的酗酒乡村音乐歌手,他试图通过与德克萨斯州农村的一位年轻寡妇和她的儿子的关系来改变自己的生活。杜瓦尔在影片中演唱了自己的歌曲,他驱车 600 多英里(966 公里)穿越全州,录制当地口音,并在乡村乐队中演奏为这个角色做准备。他和导演布鲁斯·贝雷斯福德在制作过程中多次发生冲突,一度促使贝雷斯福德离开片场,据报道考虑退出。

并检索这个:

  • ... 扮演 Mac Sledge,一位正在康复的酗酒乡村音乐歌手,他试图改变自己的生活...
  • ... 录音带录制当地口音并在乡村乐队中演奏为角色做准备。...

最后,我使用的是 PHP 和 MySQL。

4

1 回答 1

1

您可以通过 2 种方式执行此操作:

第一个。创建 mysql 函数 ( http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html ) 将处理全文并生成剪切句子。

第二。在 php 中获取全文并处理文本以生成剪切的句子。

在这两种方式中,您都必须通过自定义函数来做到这一点。

我更喜欢第二种方式,因为 php 文件中的代码将来很容易支持。

于 2013-03-19T04:00:41.147 回答