突出显示关键字

时间:2012-12-16 21:12:31

标签: php regex string

我想通过PHP突出显示句子中的关键字。

这是我的代码:

preg_replace("/\p{L}*?".preg_quote($string)."\p{L}*/ui", "<b>$0</b>", $info->plaintext)

现在我想知道如何突出显示下一个和上一个词。

示例:

  

好人并不总是要温暖可爱

如果关键字是 Cuddly ,则应该会突出显示热情和可爱。因此,脚本应绕过 并突出显示 warm

另一个例子和简单的例子(good是关键字):

句:

  

这所学校非常好。

结果:

  

这所学校是非常好的

1 个答案:

答案 0 :(得分:2)

这些方面的东西:

preg_replace('/(\p{L}+\s+((and|or|a)\s+)*)?\p{L}*?' . preg_quote($string) . '\p{L}*/ui', '<b>$0</b>', $info->plaintext)

如果您在单词之后需要“和*”,只需将相同的逻辑应用到最后。 Here's a demo.