> 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php