Robert Cummings wrote:
Nathan Rixham wrote:
Nathan Rixham wrote:
Robert Cummings wrote:
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 );
preg_replace( "/(\s)\s+/im", '\\1', $input );
:)
ahh just read the rest of this thread.. icnase it gets a bit pedantic
then here's a horizontal white space only one:
preg_replace( "/(\h)\h+/im", '\\1', $input );
and vertical only:
preg_replace( "/(\v)\v+/im", '\\1', $input );
(spot a pattern?)
Hi Nathan,
You may want to start testing your solutions. None have worked yet. Not
even close :)
filed under 'works for me'
<?php
$input = 'blah b asd as d
asd
a
sd
da
asd
d
asd
da';
echo preg_replace( "/(\s)\s+/im", '\\1', $input );
on PHP/5.2.8 produces:
blah b asd as d asd
a
sd
da asd
d
asd
da
unless I'm completely missing the elephant in the room here!
Best,
Nathan
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php