Re: how to strip empty lines out of a txt using preg_replace()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



and this is the PHP_EOL solution:
$dtd = preg_replace( "/[". PHP_EOL . "]+/", "". PHP_EOL . "", $dtd);

dont ask me why two empty strings are needed to surround the PHP_EOL but its
does it.

Why this works? we have got an INTERPRETER here any \n is transtlated into
0x0D an \r into 0x0A so the pattern does not reach prce as '\n' hehe


"Martin Scotta" <martinscotta@xxxxxxxxx> wrote in message
news:6445d94e0909040653i44716f79m972f1105559901a@xxxxxxxxxxxxxxxxx
> On Fri, Sep 4, 2009 at 10:37 AM, Ralph Deffke <ralph_deffke@xxxxxxxx>
wrote:
>
> > the problem is some have got \t\n
> > some are just \n\n....\n
> >
> > using PHP_EOL is a must
> >
> > I thing must be something with the /../sm attributes to the regex, spend
> > like half an hour, but didn't get it, I'm running against a dead line,
> > doesn't seem to be that easy if regex is not the everydays need u have
> >
> >
> > "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote in message
> > news:1252071327.24700.152.camel@xxxxxxxxxxxx
> > > On Fri, 2009-09-04 at 15:28 +0200, Ralph Deffke wrote:
> > > > ok
> > > >  preg_replace( "/^\s*$/m", "", $somestring)
> > > > does not take empty lines out
> > > >
> > > > "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote in message
> > > > news:1252069539.24700.150.camel@xxxxxxxxxxxx
> > > > > On Fri, 2009-09-04 at 14:58 +0200, Ralph Deffke wrote:
> > > > > > Hi all, I'm a bit under stress, maybe somebody knows the regex
on a
> > > > snap.
> > > > > > using PHP_EOL would be great.
> > > > > >
> > > > > > thanks
> > > > > > ralph_deffke@xxxxxxxx
> > > > > >
> > > > > >
> > > > > >
> > > > > The regex that would match a line containing only whitespace would
> > look
> > > > > like this:
> > > > >
> > > > > ^\s*$
> > > > >
> > > > > Thanks,
> > > > > Ash
> > > > > http://www.ashleysheridan.co.uk
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > Are the lines actually whitespace, or are they actually <br/> tags
that
> > > are inserting lines to format the page for HTML display?
> > >
> > > Thanks,
> > > Ash
> > > http://www.ashleysheridan.co.uk
> > >
> > >
> > >
> >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> The PHP_EOL is system dependent. If you want a solution that works on
every
> type of file you have to code it yourself. Here you have a function made
> some time ago.
> Maybe you can improve it.
>
> If you want the result as a text format you can implode( PHP_EOL,
$buffer )
> Hope this helps you.
>
> function explode($code)
> {
>     $lines = array();
>     $buffer = '';
>
>     for($i=0, $len = strlen($code); $i<$len; ++$i)
>         switch( $code{$i} )
>         {
>             case "\r":
>             case "\n":
>                 if( $i+1 == $len )
>                     break 2;
>
>                 if( "\r" == ($next = $code{ $i+1 }) || "\n" == $next )
>                 {
>                     ++$i;
>                 }
>
>                 $lines[] = $buffer;
>                 $buffer = '';
>                 break;
>             default:
>                 $buffer .= $code{$i};
>         }
>
>     if( '' !== $buffer );
>         $lines[] = $buffer;
>
>     return $lines;
> }
>
>
> -- 
> Martin Scotta
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux