【问题标题】:php Highlight multiple wordphp 突出显示多个单词
【发布时间】:2017-08-30 21:54:14
【问题描述】:

我要突出显示多个单词

我想搜索所有搜索词,即使它们重叠。

如果我搜索 ab 和 bc abc 将被突出显示

【问题讨论】:

  • 抱歉,不清楚您的实际要求。这个问题是关于搜索还是关于突出显示?请花时间修改您的问题,并更详细地解释您实际上想要做什么。
  • 如果要高亮ab词,则应用css for span
  • 我改变问题@arkascha

标签: php highlight


【解决方案1】:
Use this line of code which helps to highlights the search string:
<?php
function highlightsWords($text, $words) {
  preg_match_all('~\w+~', $words, $m);
  if(!$m) return $text;
  $re = '~\\b(' . implode('|', $m[0]) . ')\\b~i';
  return preg_replace($re, '<b>$0</b>', $text);
}

$text = 'Hang Seng Index advanced 0.6% to 24,400.80, after falling as much as 0.4% earlier';
$words = 'hang earlier';
echo highlightsWords($text, $words);
?>

【讨论】:

  • 好方法,不过,按照要求,它会因部分单词而失败。
  • 您还需要引用搜索词以防止正则表达式被破坏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
  • 1970-01-01
  • 2013-06-29
相关资源
最近更新 更多