如何突出显示包含变量字符的文本(例如',%,$,数字)

时间:2011-12-21 09:26:34

标签: php

我有一个突出显示短语的代码。当短语只是没有变量符号($)的单词,数字和符号(如(',*,$,))时,它可以工作。以下是我的代码。那么我该怎么做才能突出这个确切的短语呢?

if (!empty($_GET['gid'])) {
    function highlightWords($string, $words)
    {
        $string = str_ireplace($words, '<span class="highlight_word">'.$words.'</span>', $string);
        /*** return the highlighted string ***/
        return $string;
    }

    /*** example usage ***/
    $string = file_get_contents('referencefiles/Microsoft.txt', FILE_USE_INCLUDE_PATH);
    $words = 'Paper August 2003'; 

    /*** highlight the words ***/
    $string = highlightWords($string, $words);
    echo $string; 
}
?>

2 个答案:

答案 0 :(得分:1)

模式字符串中的任何元字符都需要进行转义。 请检查http://www.php.net/manual/en/ref.regex.php

答案 1 :(得分:0)

这会有所帮助:

function highlight_matches($find_text, $text) {
  return preg_replace("/($find_text)/i", '$1', $text);
}
echo highlight_matches($string, $words);