OK, this time the \n worked. The only thing I changed was using / delimiters instead
of | delimiters in the search string. No idea if/why that would affect anything in
the replacement string.
Anyway, I finally came up with exactly what I wanted:
preg_replace(array("/\s*\n+\s*/", "/[ ]+/"), array("\n", " "), $input);
All padding (defined as any series of spaces, newlines and sometimes tabs) is removed
from $input, but always leaving at least a space or a newline in its place. If there
were any newlines in the "padding", then a newline is left. If there weren't, then a
space is left.
Thanks for the help!
At 04:40 PM 12/6/01 -0500, Jack Dempsey wrote:
>one call to preg_replace...if you check out php.net/preg_replace, you'll see
>what i mean...use arrays...
>and as long as you have them ordered in the right way, it'll execute them in
>that order, so by the time the \s replace comes up all your 'bbbnbb' will be
>fixed...problem then is that those newlines would get caught by the \s and
>get switched to spaces...so, if you want them to stay, then use [ ] to
>represent a space instead of \s...might want [ \t] to catch tabs as well...
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]