I've been searching for a regexp that will let me do text replacements inside HTML text, but not within HTML tags themselves. In other words, if I had content like this: <a href="/meta/RSS.xml" title="My RSS feed">Our RSS 2.0 feed</a> I want to be able to modify the text 'RSS' without breaking the link or the title attribute. Some of you might be tempted to suggest that I use whitespace or '\b' word boundary assertations, but some of my replacements are too complicated for that (as in the 'title' attr above). I actually need the regexp to match on text that its not inside <> pairs. I was trying a negative look-ahead technique, but couldn't get it quite right. Any suggestions? <tip type="PHP"> When doing lots of different text replacements using regular expressions, take advantage of the preg_replace() function's ability to accept arrays as arguments: // A bunch of regexp replacements we want to make: $patterns = array( '/\bRSS\b/' => 'Really Simple Syndication', '/\bXML\b/' => 'eXtensible Markup Language', '/\bHTML\b/' => 'Hypertext Markup Langage' // etc. ); // Extract the subjects and replacments separately: $keys = array_keys($patterns); $values = array_values($patterns); // Perform all the substitutions: $content = preg_replace($keys,$values,$content); </tip> -- Ernest MacDougal Campbell III, MCP+I, MCSE <dougal at gunters.org> http://dougal.gunters.org/ http://spam.gunters.org/ Web Design & Development: http://www.mentalcollective.com/ This message is guaranteed to be 100% eror frea!