I have find this very helpfull : preg_match_all("|<[^>]+>(.*)</[^>]+>|", $haystack, $out, PREG_SET_ORDER);
It's almost done, only if i can restrict the regexp to <a > and <img> tags only ... :( I need to look for "Mastering Regular Expressions" book tomorrow :D it's really boring without good docs ----- Original Message ----- From: "Timothy Hitchens (HiTCHO)" <[EMAIL PROTECTED]> To: "'Hatem Ben'" <[EMAIL PROTECTED]>; "'PHP List'" <[EMAIL PROTECTED]> Sent: Sunday, January 12, 2003 2:28 PM Subject: RE: [PHP] highlight keywords issue > You will need to break apart the entire document then process each area > inside of the > tags and to be very careful for nested tags. > > The simplest way around I have found to do with is to add to tags that > have been processed > with attributes that are ignored by the browser renderer eg... <a > href="/page.html" done="yes">PHP</a> > as you can see the <a href has been processed because I have added in a > extra attribute then continue > to process the entire page from my preg matches. > > Nested tags are going to be your biggest issue. > > > > Timothy Hitchens (HiTCHO) > Open Platform Consulting > e-mail: [EMAIL PROTECTED] > > > -----Original Message----- > > From: Hatem Ben [mailto:[EMAIL PROTECTED]] > > Sent: Sunday, 12 January 2003 7:24 PM > > To: PHP List > > Subject: [PHP] highlight keywords issue > > > > > > Heya all, > > > > I'm trying to highlight search keywords in a string, > > everything work expect when this keyword is inside a tag like this : > > > > keyword (php) : > > > > <a href="?go=php">php</a> > > > > <img src="php.gif" border=0 alt="php.net"> > > > > will be highlighted to : > > > > <a href="?go=<b style="color: black; background-color: > > #ffff66">php</b>"><b > > style="color: black; background-color: #ffff66">php</b></a> > > > > <img src="<b style="color: black; background-color: > > #ffff66">php</b>.gif" border=0 alt="<b style="color: black; > > background-color: #ffff66">php</b>.net"> > > > > I have tryed to separate text from html, then highlight it > > then join html/text again, but this will be very long and not > > really usefull ! > > > > I'm using preg_replace : > > > > preg_replace('|\b('.quotemeta($keyword).')\b|iU', '<b > > style="color: black; > > background-color: #ffff66">\\1</b>', $content); > > > > Any help to fix that ? > > > > Thanks; > > Hatem > > > > > > -- > > 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