tedd wrote:
At 1:02 PM -0400 5/22/10, Robert Cummings wrote:
tedd wrote:
If that is all (i.e., removing double linefeeds), then this will do it:
$text_array = array();
$text_array = explode("\n\n", $input_text);
$output_text = implode("\n",$text_array);
Sorry tedd, this is broken. It doesn't solve problems with runs of
greater than 2 newlines which is even in the example :) I would use
the following instead which is also line break agnostic with final
output in the style for your system:
<?php
$data = preg_replace( "#[\r\n]+#", PHP_EOL, $input );
?>
Cheers,
Rob.
Rob:
It's not broken according to my "given", which was "If that is all
(i.e., removing double linefeeds), then this will do it:" My code
does exactly what was stated.
Actually, his comment didn't say double line feeds... his comment said I
want THIS to look like THAT. And THIS had a triple line feed and THAT
completely normalized it to a single line feed. I realize you
misunderstood the problem, but where I work, clients don't think a
solution based on incorrect presumptions is a valid solution for a
clearly defined problem :)
I did not catch there were more than
two linefeeds in the OP's problem. Doing more was something I did not
address.
Also, the solution you provided works better this way: :-)
$input = preg_replace( "#[\r\n]+[[:space:]]+[\r\n]+#", "\n", $input );
$input = preg_replace( "#[\r\n]+#", PHP_EOL, $input );
$input = trim( $input );
Doh, what's funny is I fixed it in my test script but had already pasted
into my email and forgot to update that *lol*. Good catch!
Cheers,
Rob.
--
E-Mail Disclaimer: Information contained in this message and any
attached documents is considered confidential and legally protected.
This message is intended solely for the addressee(s). Disclosure,
copying, and distribution are prohibited unless authorized.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php