想要在搜索关键字之前和之后显示几个单词

时间:2015-06-30 10:43:34

标签: php mysql

例如,我在数据库表中有一个字符串

  

"这是一个测试,我想测试我网站上的所有内容   测试工具。我需要我的员工的帮助来搜索新的东西   门户网站,但我找不到任何帮助来源"

这个数据在我的mysql表中

当我在此内容中搜索单词或字符串时,我想显示前20个和后20个单词的搜索字符串

例如,如果我搜索我的人

然后我应该得到如下结果

网站使用测试工具。我需要我的员工的帮助才能搜索新内容

或者如果我搜索门户,那么它应该给出结果如下

我需要帮助我的员工在门户网站上搜索新内容,但我找不到任何帮助来源

我尝试使用mysql之类的查询,但它显示了完整的内容。

1 个答案:

答案 0 :(得分:-1)

您可以使用mysql LIKE语句然后使用php explode函数来获取单句。对爆炸件进行检查以确定您是否采取了正确的结果。

$keyword        = "portal";
$result_str     =  "This is a test and i want to test everything on my website using testing tool. I need help of my people to search the new things on portal but i can not find any source of help";
$suggestions    =  explode(".", $result_str);
$match          = "";
foreach ($suggestions as $key => $value) {
    if(strpos($value,$keyword) !==false)
        $match = $value;
    continue;
}

echo $match;