在sql中用模糊查询后返回结果,我想反模糊查询时的在结果中的关键字标是红色再输出(如baidu和google搜索的那样)。如果是中文,可以直接用str_replace($keyword,"<font color=\"red\">$keyword</font>",$content)来替换,但是当如果是英文时,有大小写的,如:php、Php、PHP等,我现在想将这么都加上颜色,但不能改变它们的大小,这个怎么写呢?是不是用正则表达式,那么应该怎么写呢?

解决方案 »

  1.   

    试试
    preg_replace($keyword, "<font color=\"red\">\\1</font>", $content)
      

  2.   

    是的$content = preg_replace("/$keyword/i", "<font color=\"red\">$0</font>", $content);
      

  3.   

    $content = 'php PHP pHp PHp';
    $content = preg_replace('/(php)/i',"<font color='red'>$1</font>",$content);
    echo $content;
    i区分大小写。
      

  4.   

    document.body.innerHTML=document.body.innerHTML.replace(/(".Keyword.")/gi,""<font color=red>$1</font>"");
      

  5.   

    非常感谢大家,照xuzuning(唠叨)的方法可以了。想问一下$0这个是什么意思?