Owkay i fixed it :D. The regexp needed a /s (Pattern Modifier) also so that the "."(DOT) also does newlines :). Now it is fixed... Thank you very much Eli :) /me is happy. THE CODE: --- <?php function tag_rep($tag) { return preg_replace('/(?<!\<)(\S+)\s*=\s*(?<![\'"])([^\s\'"]+)(?![\'"])/','\1="\2"',$tag); } $html="<p class=MsoNormal id=par><font size=3 face=\"Comic Sans MS\"><span lang=NL style='font-size:12.0pt;font-family:\"Comic Sans MS\"'><a href=http://www.php.net/index.php> key=value </a></span></font></p>"; echo 'Normal HTML:<br><textarea cols="70" rows="10">'; echo $html; echo "</textarea><br><br>"; $improved_html = preg_replace('/\<(.*)\>/Ueis','"<".tag_rep("\1").">"',$html); echo 'Improved HTML:<br><textarea cols="70" rows="10">'; echo str_replace("\\'","'",$improved_html); echo "</textarea>"; ?> --- "BlackDex" <black.dex@xxxxxxxx> wrote in message news:20050310140600.25321.qmail@xxxxxxxxxxxxxxxx > Thx... it works almost :P > > I Changed the code a bit so you can see the results quicker :). > > It doesn't change every attribute/value. I think this has to do something with the opening and closing of a tag <>. > <CUT> > --- > > "Eli" <eli.hen@xxxxxxxxx> wrote in message news:4230195E.4040404@xxxxxxxxxxxx >> Sorry for the spam.. here it is: >> >> <?php >> function tag_rep($tag) >> { >> return preg_replace('/(?<!\<)(\S+)\s*=\s*(?<![\'"])([^\s\'"]+)(?![\'"])/','\1="\2"',$tag); >> } >> >> $html="<p class=MsoNormal id=par><font size=3 face=\"Comic Sans MS\"><span lang=NL style='font-size:12.0pt;font-family:\"Comic >> Sans MS\"'><a href=http://www.php.net/index.php> key=value </a></span></font></p>"; >> >> $improved_html=preg_replace('/\<(.*)\>/Ue','"<".tag_rep("\1").">"',$html); >> echo str_replace("\\'","'",$improved_html); >> ?> >> >> :) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php