1

在为我的网站创建搜索结果页面时,我需要您的帮助。它是一个简单的 php cms 站点,只是从 mysql 中获取内容。使用简单查询来获取搜索

$search = $_GET["search"];
$search = preg_replace('#[^0-9]#i','',$_GET['search']);

$searchresult = mysql_query ("SELECT * FROM pages WHERE pgcontent LIKE '%$search%'");   

    while ($row = mysql_fetch_array($searchresult)) 
    {
        echo '<h3>' . $row["PageTitle"] . '</h1>';
        echo '<p>' . $row["PageContent"] . '</p><br /><br />';  
    }

我想要做的不是显示整个页面内容,只是显示任何单词与搜索词匹配的行......或者只是找到搜索词的页面的前几行。

朋友们可以帮我做这件事吗?这将是一个很大的帮助......谢谢

4

1 回答 1

3

你可以运行后期处理$row["PageContent"]

就像是

while ($row = mysql_fetch_array($searchresult)) 
{
    echo '<h3>' . $row["PageTitle"] . '</h3>';

    $position = strpos($row["PageContent"], $search);
    $snippet = substr($row["PageContent"], $position - 100, $position + 100);

    echo '<p>' . $snippet . '</p>';
    echo '<br /><br />';  
}

您的片段从匹配术语的开头开始 100 个字符并在术语开始后的 100 个字符处结束。显然,您可以将其调整为您想要的任何内容,但这是基本思想。

如果我错过了这一点,请告诉我,我可能会更新。

于 2013-02-13T20:16:31.867 回答