gpt4 book ai didi

PHP如何像搜索引擎一样显示搜索结果

转载 作者:行者123 更新时间:2023-11-29 12:55:59 27 4
gpt4 key购买 nike

我的网站中有一个搜索页面。
我不想在结果中显示整个句子,我想以“Google 风格”显示它:
前 5 个字符,突出显示搜索词,后 5 个字符...
对于句子中找到的每个单词,依此类推。

$teksto="bla1 bla2 bla3 bla4 bla5 Bingo bla6 bla7 bla8 bla9 bla10 Bingo bla11 bla12 Bingo bla13 bla14 bla15";
$serchu="bingo";
$teksto=preg_replace("/[\s]{1,}/is",' ',$teksto); // (form multispaces, breaklines, etc. to just 1 space)
echo preg_replace("/(.{0,5})($serchu)(.{0,5})/is"," ...$1<b>$2</b>$3... &nbsp;&nbsp;",$texto);

结果是:
bla1 bla2 bla3 bla4 ...bla5 宾果 bla6... bla7 bla8 bla9 b ...la10 宾果 bla1... 1 b ...la12 宾果游戏 bla1... 3 bla14 bla15

我希望结果是:
...bla5 宾果 bla6... ...la10 宾果 bla1... ...la12 宾果 bla1...

换句话说,我不想在开头或结尾出现其他单词
MySQL 解决方案也受到赞赏。

最佳答案

不要替换内容,而是尝试仅匹配匹配的单词并打印其周围的一些上下文。这将搜索所有出现的 $serchu,前后各有 5 个字符,并将结果与​​“...”放在一起:

preg_match_all("/.....$serchu...../i", $teksto, $matches);
echo implode('...', $matches[0]);

结果:

 bla5 Bingo bla6...la10 Bingo bla1...la12 Bingo bla1

$serchu 位于字符串的开头或结尾时,此方法不起作用,但我认为修复此方法比使用 preg_replace 更成功.

关于PHP如何像搜索引擎一样显示搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24063396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com