> 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

Reply via email to