Grow your CSS skills. Land your dream job.

Last updated on:

Highlight a Substring

       $text='Would you be so kind to highlight in this string?';

       echo textHighlight($text,$search);

       //Performs a regex-texthighlight
       function textHighlight($text,$search,$highlightColor='#0000FF',$casesensitive=false)
               $modifier=($casesensitive) ? 'i' : '';
               //quote search-string, cause preg_replace wouldn't work correctly if chars like $?. were in search-string
               //generate regex-search-pattern
               //generate regex-replace-pattern
               return preg_replace($checkPattern,$strReplacement,$text);

This code performs a regular-expression-replace to add a span-tag with a definable color. Can be used either for case-sensitive and case-insensitive replacements.


  1. Permalink to comment#

    This will not work …
    you are not using the : $highlightColor

    anywhere within replace code …


  2. pandaboy
    Permalink to comment#

    @feha, it maybe too late for you to see this, but I found this in the php_manual on preg_replace in the comments – simpler and works fine for most cases:

    function highlight($haystack,$needle)
    $haystack=preg_replace("/($needle)/i","<span style='font-weight:bold'>\${1}</span>",$haystack);
    return $haystack;

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".