Re: Catch line indetation

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

 




On 28 October 2016 23:33:00 BST, German Geek <geek.de@xxxxxxxxx> wrote:
>regex is nicer, because it is less code and you can detect any white
>space
>etc.
>
>However!
>
>substring etc will be faster and more understandable to others who do
>not
>know much about regexes.
>
>On Sat, 29 Oct 2016 at 02:21 Christoph M. Becker <cmbecker69@xxxxxx>
>wrote:
>
>> On 28.10.2016 at 14:51, Richard wrote:
>>
>> >> Date: Friday, October 28, 2016 12:09:31 +0100
>> >> From: Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx>
>> >>
>> >> On 28 October 2016 12:01:16 BST, Narcis Garcia
>> >> <informatica@xxxxxxxxx> 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
>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>

I really don't think performing two strlen() calls, a substr(), & an ltrim() is going to be faster than a regular expression. 

I don't think you should avoid regex's because some people don't understand them. It's a very simple regular expression. You wouldn't tell someone to avoid PDO and use mysql_* functions because PDO is too complicated for some people would you? 
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

-- 
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