我正在使用此代码突出显示搜索关键字:
function highlightWords($string, $word)
{
$string = str_replace($word, "<span class='highlight'>".$word."</span>", $string);
/*** return the highlighted string ***/
return $string;
}
....
$cQuote = highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
但是,这仅突出显示一个关键字。如果用户输入多个关键字,则会缩小搜索范围,但不会突出显示任何单词。如何突出显示多个单词?
正则表达式是必经之路!
function highlight($text, $words) {
preg_match_all('~\w+~', $words, $m);
if(!$m)
return $text;
$re = '~\\b(' . implode('|', $m[0]) . ')\\b~';
return preg_replace($re, '<b>$0</b>', $text);
}
$text = '
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
';
$words = 'ipsum labore';
print highlight($text, $words);
要以不区分大小写的方式进行匹配,请在正则表达式中添加“ i”
$re = '~\\b(' . implode('|', $m[0]) . ')\\b~i';
注意:对于像“ä”这样的非英语字母,结果可能会因地区而异。
问题内容: 我想使用jQuery / Java脚本搜索并突出显示文本。 示例HTML 1: 当我搜索字符串“ Good Morning”时,div1和div3中的内容都应突出显示。即。输出html应该是 我使用了插件https://raw.github.com/bartaz/sandbox.js/master/jquery.highlight.js将搜索到的内容包含在span中。但是只有div3高
问题内容: 我需要在段落中突出显示关键字,就像google在其搜索结果中一样。假设我有一个带有博客文章的MySQL数据库。当用户搜索某个关键字时,我希望返回包含这些关键字的帖子,但只显示帖子的一部分(包含搜索关键字的段落)并突出显示那些关键字。 我的计划是这样的: 找到内容中包含搜索关键字的帖子ID; 再次阅读该帖子的内容,并将每个单词放入固定的缓冲区数组(50个单词)中,直到找到关键字。 您能为
在功能文档中,据说vespa支持类似关键字高亮的搜索引擎。我找不到任何关于如何实现它的例子。
我有一个反应原生应用程序,我有一个搜索栏和一个FlatList。我的搜索逻辑如下 搜索栏: FlatList: 渲染项: 项目组成部分: 我想要一个搜索过滤器高亮显示,如下所示,当我开始在搜索栏中键入文本时,平面列表中的文本必须高亮显示。 我如何实现这个??反应本族语突出词?有什么功能吗?请帮忙
问题内容: 如何突出显示使用php的mysql查询的搜索结果? 这是我的 [修改] 代码: 问题答案: 您可以使用preg_replace();,当它在文本中找到匹配项时,您可以在匹配词周围放置一个带有突出显示类别的div。然后,您可以向突出显示类添加背景颜色和边框,以使其突出显示 preg_replace期望3个参数; 第一个是您要寻找的 第二个是应该更改为 他应从中搜索并替换的文本字符串 例如
如果所有未分析的字段与搜索查询匹配,我希望突出显示它们。 索引实体如下所示: 假设我有一个,它带有,然后运行一个具有相同值的搜索查询,并使用以下代码突出显示搜索结果: 因此,我得到以下代码片段:. 这似乎是合理的,因为分析器将符号视为停止字,而将视为分隔符,并且不突出显示它们。但是我不知道如何在突出显示这个字段的同时避免使用analyzer。类中有一些方法需要而不是,但我不知道如何使用它们。 我想