I just had a look in the manual at the reg exp functions, and this was in
the user notes:

eregi_replace($search, "<b>\\0</b>", $text);

so, try:

$result = eregi_replace($search, "<span class=\"foo\">\\0</span>", $result);


Justin


on 04/11/02 7:59 PM, David Russell ([EMAIL PROTECTED]) wrote:

> Ok, this works.
> 
> Just one more thing,
> 
> 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>.
> 
> Thanks
> 
> David Russell
> IT Support Manager
> Barloworld Optimus (Pty) Ltd
> Tel: +2711 444-7250
> Fax: +2711 444-7256
> e-mail: [EMAIL PROTECTED]
> web: www.BarloworldOptimus.com
> 
> -----Original Message-----
> From: Justin French [mailto:justin@;indent.com.au]
> Sent: 04 November 2002 12:49 PM
> To: David Russell
> Subject: Re: [PHP] Battling with highlighting search criteria
> 
> 
> Yeap, you need a regexp...
> 
> $result = eregi_replace($search,"<span
> class=\"foo\">$search</span>",$result);
> 
> This will be a little slower that str_replace, but it's the easiest way
> if you need case insensitivity...
> 
> 
> Justin
> 
> 
> on 04/11/02 7:27 PM, David Russell ([EMAIL PROTECTED]) wrote:
> 
>> Hmmm, old method:
>> 
>> Find starting point of substring, and do a substr replace (not really
>> elegant)
>> 
>> But how can I make your method case insensitive? I presume ereg/preg
>> replaces. My regexp knowledge is non-existent, however!!
>> 
>> Cheers
>> 
>> David Russell
>> IT Support Manager
>> Barloworld Optimus (Pty) Ltd
>> Tel: +2711 444-7250
>> Fax: +2711 444-7256
>> e-mail: [EMAIL PROTECTED]
>> web: www.BarloworldOptimus.com
>> 
>> -----Original Message-----
>> From: Justin French [mailto:justin@;indent.com.au]
>> Sent: 04 November 2002 12:27 PM
>> To: David Russell; [EMAIL PROTECTED]
>> Subject: Re: [PHP] Battling with highlighting search criteria
>> 
>> 
>> how are you doing it for only the FIRST???
>> 
>> Anyhoo, a simple string replace should do it... I'd do this:
>> 
>> $result = str_replace($search,"<span
>> class=\"highlight\">{$search}</span>",$result);
>> 
>> Justin
>> 
>> 
>> on 04/11/02 6:27 PM, David Russell ([EMAIL PROTECTED])
>> wrote:
>> 
>>> Hi there,
>>> 
>>> My brain has just gone very fuzzy...
>>> 
>>> I have a search string ($search) and a result ($result). I need to
>>> highlight every occurance of $search in $result.
>>> 
>>> I know that it means that I need to change (for example)
>>> 
>>> $result = "This is a test, isn't it?"
>>> $search = "is"
>>> 
>>> Into
>>> 
>>> $result = "th<span class="highlight">is</span> <span
>>> class="highlight">is</span> a test, <span
>>> class="highlight">is</span>'nt it"
>>> 
>>> Now I can easily see how to change the FIRST occurrence of the word,
>>> but how can I change every occurance?
>>> 
>>> Thanks
>>> 
>>> 
>>> 
>>> David Russell
>>> IT Support Manager
>>> Barloworld Optimus (Pty) Ltd
>>> Tel: +2711 444-7250
>>> Fax: +2711 444-7256
>>> e-mail: [EMAIL PROTECTED]
>>> web: www.BarloworldOptimus.com
>>> 
>> 
> 
> 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to