【发布时间】:2017-09-14 00:02:41
【问题描述】:
所以我有以下代码突出显示在搜索结果中输入到搜索栏中的单词:
$sk = explode(" ",$searchVal);
foreach ($searchPostResults as $pagePosts)
echo '<li><span class="searchResult"><a href="'
. get_the_permalink($pagePosts->ID) . '" title="">' .
preg_replace('/\b(' . implode('|', $sk) . ')\b/iu',
'<strong class="searchHighlight">\0</strong>',
get_the_title($pagePosts->ID))
. '</a></span></li>';
现在它在大多数情况下都有效。 假设我在搜索栏中输入搜索词“如何”,“如何”一词突出显示。 现在,如果“如何”这个词在另一个词(如“淋浴”)中,我想强调一下“如何”这样:
s<strong class="searchHighlight">how</strong>er
任何人都知道我可以如何调整代码来做到这一点。
干杯
【问题讨论】:
-
@chris85 谢谢你成功了,没有意识到 \b 是边界。将来需要牢记这一点。谢谢冠军:)
标签: php arrays regex preg-replace word-boundary