代码之家  ›  专栏  ›  技术社区  ›  Scott

mysql+php:如何搜索和显示摘要而不是整个结果

  •  5
  • Scott  · 技术社区  · 16 年前

    想知道如何使用php+mysql搜索结果,但不显示结果中的所有数据,只显示一个摘要(假设限制为200个字符)。摘要将包含 关键字部分 . 所以-100个字符+关键字+100个字符可能是它的显示方式。

    谢谢!

    1 回复  |  直到 16 年前
        1
  •  4
  •   zombat    16 年前

    假设您可以在摘要中使用关键字的第一个实例,那么您可以用类似下面的方法在PHP中分解查询结果:

        $sql = "SELECT data_field FROM your_table WHERE data_field LIKE '%".$keyword."%'";
        $res = mysql_query($sql);
        while($row = mysql_fetch_array($res)) {
            $data = $row['data_field'];         
            $first_pos = strpos($data,$keyword);
            if ($first_pos !== false) {
                      $output = substr($data,max(0,$first_pos - 100),200 + strlen($keyword));
              echo $output;
            }
        }
    

    很明显你可以做任何适合你需要的事情 $output 一旦你拥有了它。