Re: Re: string highlight

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/8/05, John Nichel <john@xxxxxxxxxxxx> wrote:
> Rory Browne wrote:
> <snip>
> >>Good catch Rory.  A regex replace would work better here.
> >>
> >>$search = "body";
> >>$find = "/\b" . $search . "\b/";
> >>preg_replace ( $find, "<b>" . $search . "</b>", $html );
> >
> >
> > I don't think so. If I'm reading your code correctly you still have
> > the same problem, as I outlined above. There is no simple solution to
> > this. It either involves advanced regex(more advanced than my
> > understanding of it), or a proper parser.
> >
> > <?pseudo_code
> >
> > function highlight_html_string($needle, $haystack);
> >
> > $retval = "";
> > $i = 0;
> > while($i < strlen($haystack)){
> >   $str = get_text_between_certain_point_and_first_instance_of_<($i);
> >   $str = preg_replace(what john said above);
> >   $str .= get_tag_text($i);
> >   $retval .= $str;
> >   $i += strlen($str);
> > }
> >
> > return $retval;
> > ?>
> 
> < won't be picked up as a word boundry (\b).
Aparently it will.

[rory@mybox tmp]$ cat /tmp/test.php
<?php

$str = "<html><body>Highlight the body of the text</body></html>";

echo preg_replace("/\bbody\b/", "<b>body</b>", $str);

?>
[rory@mybox tmp]$ php -q /tmp/test.php
<html><<b>body</b>>Highlight the <b>body</b> of the text</<b>body</b>></html>



> 
> --
> John C. Nichel
> ÜberGeek
> KegWorks.com
> 716.856.9675
> john@xxxxxxxxxxxx
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
>

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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux