Re: Catch line indetation

From: Date: Fri, 28 Oct 2016 13:21:19 +0000
Subject: Re: Catch line indetation
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-325784@lists.php.net to get a copy of this message
On 28.10.2016 at 14:51, Richard wrote: >> Date: Friday, October 28, 2016 12:09:31 +0100 >> From: Ashley Sheridan <ash@ashleysheridan.co.uk> >> >> On 28 October 2016 12:01:16 BST, Narcis Garcia >> <informatica@actiu.net> wrote: >> >>> Hello, I have a string (I quote here only) as: >>> >>> ' <table>...</table>' >>> >>> As you can see there are 3 spaces at the beginning, but it could >>> be 0 or >>> 4 or any number of spaces. >>> How can I get a string with only the initial spaces part? >>> >>> ' <table>...</table>' -> ' ' >>> 'hello' -> '' >>> ' hello' -> ' ' >>> >>> Thanks. >> >> Have you tried regular expressions? Something like: >> >> ^( )*[^ ] >> >> The first captured match is the number of spaces, from 0 to any >> amount. Not the space between the brackets and before the closing >> square bracket > > You need to take into consideration that "whitespace" can be created > by more than the simple "space" (ascii 32) character. A "[horizontal] > tab" (ascii 9) is common, but also look at the top of php trim > function documentation: > > <http://php.net/manual/en/function.trim.php> > > to see the characters that it handles as "whitespace". If general whitespace should be detected with a regexp, \s could be used. > While "trim" > does the opposite of what you're after, […] Indeed, so one could do something like substr($string, 0, strlen($string) - strlen(ltrim($string))) I'd prefer a regexp solution, though. -- Christoph M. Becker

« previous php.general (#325784) next »