在文本utf8 PHP中突出显示单词或部分单词

时间:2013-07-12 18:37:51

标签: php search highlight

我需要使用utf8突出显示文本中的单词,例如:

  1. 文字:现在我们知道你是谁,Činšot我知道我是谁。我不是 一个错误!

    Word:Čin

    结果:现在我们知道你是谁,* Čin *我知道我是谁。我不是 一个错误!

  2. 文字:现在我们知道你是谁,Činšot我知道我是谁。我不是     一个错误!

    Word:Cin

    结果:现在我们知道你是谁,* Čin *我知道我是谁。 我不是     一个错误!


  3. 我需要的是,如果单词不包含utf8字符,它会突出显示。

    我目前的代码:

    function highlight($text, $words, $type) {
         preg_match_all('~\p{L}+~iu', $words, $m);
         if(!$m)
              return $text;
         $re = '~\\p{L}}(' . implode('|', $m[0]) . ')\\p{L}}~iu';
         return preg_replace($re, '<span id="title_highlight">$0</span>', $text);
    }
    

0 个答案:

没有答案