php文件里搜索关键字,在PHP搜索脚本中突出显示关键字

这篇博客讨论了如何通过改进循环结构和使用数组来处理用户在搜索时输入的多词查询。通过将用户输入的关键词拆分成数组,并在循环中应用`str_replace`,可以确保每个单独的词都被用于搜索,从而提高搜索的覆盖率和准确性。这种方法有助于减少拼写错误的影响,提供更全面的搜索结果。
摘要由CSDN通过智能技术生成

简单地说,你可以在这里调整循环:

$searchvar = trim($_GET['q']);

while ($row=mysql_fetch_assoc($searchResult)){

$description = str_replace($searchvar, ''.$searchvar."", $row['description']);

$results .="

{$row['title']}
{$description}
{$row['url']}
";

}为了使它更好一点:

$searchvar = explode(" ", trim($_GET['q'])); //puts each space separated word into the array.

while ($row=mysql_fetch_assoc($searchResult)){

$description = $row['description'];

foreach($searchvar as $var) $description = str_replace($var, ''.$var."", $description);

$description = str_replace($searchvar, ''.$searchvar."", $row['description']);

$results .="

{$row['title']}
{$description}
{$row['url']}
";

}第二个的好处是,如果用户键入“ipod toudch yellow”,您将搜索“ipod”,“toudch”和“yellow”,这将否定类型并使结果更加通用。

你需要换单:

like '%query%'同

foreach(explode(" ", trim($_GET['q']) as $searchvar) $where[] = "like '%$searchvar%'";

$wheresql = implode(" OR ", $where);获取每个搜索“word”以在sql中查找,或者您将使用不相关的突出显示进行有限的搜索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值