Re: Re: Battling with highlighting search criteria

From: Date: Mon, 04 Nov 2002 10:08:15 +0000
Subject: Re: Re: Battling with highlighting search criteria
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-122652@lists.php.net to get a copy of this message
> How can I get the return in the same case as it was originally? > > Ie if I have $string = "Forward" , and $search = "for", I want > <span....>Forward</span>, not <span...>forward</span>. Read my reply to your previous reply ;-)) But...some more explanation: $result = preg_replace( '/(' . $search . ')/i', "<span class=\"highlight\">\$1</span>", $result ); The first argument is the pattern, which is '/(for)/i' in the case of searching for "for". That will match every occurence of "for", "For", "fOr", and so on. The case insensitivy is reached by the "i" modifier at the end of the pattern. The second argument is the replace string. The $1 is an backward reference to the first item between brackets. That'll mean that the from the word Forward, the $1 parameter will contain "For". So, the "For" -part from "Forward" will be replaced with <span class="highlight">For</span> and that's exactly what you want (right?)... Hope this clears your brain up ;-))) Grtz Erwin

« previous php.general (#122652) next »