On Thu, May 06, 2004 at 11:26:34AM -0400, Rob Ellis wrote: > > > > $text = ereg_replace("<!--[^>]*-->","",$text); > > you can make the .* less greedy... > > $text = preg_replace('/<!--.*?-->/', '', $text);
Interesting to know. My preg-foo is limited; I came at PHP from a background of awk and sed, so when I regexp, I'm a little more traditional about it. Interestingly, from a shell: $ text='one <!-- bleh --> two\nthree <!-- blarg -->four\n' $ printf "$text" | sed -E 's/<!--([^-][^-]?[^>]?)*-->//g' one two three four which is the same behaviour as PHP. But that still doesn't cover multi-line. PHP's ereg support is supposed to, but doesn't work with this particular substitution: $text="one <!--bleh\nblarg -> two\n"; print ereg_replace("<!--([^-][^-]?[^>]?)*-->", "",$text); returns one <!--bleh blarg -> two But we know it really does support multiline, because: $text="aaaabb\nbbcccc"; print ereg_replace("[^ac]","",$text); returns aaaacccc So ... this is interesting, and perhaps I'll investigate it further if the spirit moves me. ;-) -- Paul Chvostek <[EMAIL PROTECTED]> it.canada http://www.it.ca/ Free PHP web hosting! http://www.it.ca/web/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php