Re: Re: split on whitespace, preserving whitespace...
| From: | Stefan Rusterholz | Date: | Fri, 20 Jul 2001 13:34:48 +0000 |
| Subject: | Re: Re: split on whitespace, preserving whitespace... | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-58893@lists.php.net to get a copy of this message | ||
If you'r using PHP >4 use preg_split. (works also with php 3 >= 3.09)
see http://www.php.net/manual/en/function.preg-split.php
for detailed
information.
The split pattern you'd need is:
$sometext2split = "hello world with a lot of whitespaces!";
$myarray = preg_split ("/\s+/",$sometext2split);
you should get
$myarray := ['hello', 'world', 'with', 'a', 'lot',
'of', 'whitespaces!']
But remark: \t (tabs) will also count as whitespace, but not \n and \r. See
docu for more informations
Hope, it helps
best regards
Stefan Rusterholz, scripting@interaktion.ch
----- Original Message -----
From: "Garth Dahlstrom" <garth@utmail.to>
To: <james@towntalk.co.uk>
Cc: <php-general@lists.php.net>
Sent: Friday, July 20, 2001 1:44 PM
Subject: [PHP] Re: split on whitespace, preserving whitespace...
> > try $wordarr = explode(" ", $string);
>
> mmm... yeah... That's what I had before
> (acutally I was using the alias split)...
> it does NOT however preserve the areas
> of white space.
>
> Instead the target of:
> > > $wordsarr = ('This',' ','contans','
> > > ','white',' ','space','
','.')
>
> You get:
> > > $wordsarr =
> > > ('This','','contans','','white','space','','.')
>
> which has totally destroyed the whitespace I'm trying to
> keep intacted.
>
> I'm starting to wonder if maybe preg_match_all is better
> suited for something like this... just no idea how to do
> the regex that matches words & spaces and populates them
> into the array.
>
> maybe something like: echo
preg_match_all("|(\s+)?(.*)?(\s+)?|",$test,$arr);
> sigh... I dunno regex.
>
> -Garth
>
> Northern.CA ===--
> http://www.northern.ca
> Canada's Search Engine
>
> On Fri, 20 Jul 2001 09:20:59 +0100 "James Holloway" wrote:
>
>
> > try $wordarr = explode(" ", $string);
> >
> > James.
> >
> > ----- Original Message -----
> > From: "Garth Dahlstrom" <garth@utmail.to>
> > Newsgroups: php.general
> > To: <php-general@lists.php.net>
> > Sent: Friday, July 20, 2001 5:43 AM
> > Subject: split on whitespace, preserving whitespace...
> >
> >
> > > Hi all,
> > >
> > > I'm trying to build a spell checker for a web form.
> > > What has got me stumped is being able to do a split
> > > so that whitespace and words are stored as seperate
> > > elements of the same array.
> > >
> > > ideally, I'd use some form of preg_split to put:
> > >
> > > "This contans white space ."
> > >
> > > into an array like:
> > >
> > > $wordsarr = ('This',' ','contans','
> > > ','white',' ','space','
','.')
> > >
> > > So that I can do a a loop as follows:
> > >
> > > for ($i = 0; $i < count($wordarr); $i++)
> > > {
> > > if (!trim($wordarr[$i]) == "" &&
> > > !eregi(trim($wordarr[$i]),'.,/'))
> > > {
> > > file://check spelling
> > > file://correct errors
> > > }
> > > echo $wordarr[$i];
> > > }
> > > and end up with:
> > > "This contains white space ."
> > >
> > > can a split like this be accomplished using
> > > preg_split or do I need to go through the string
> > > one space at a time in a while loop?
> > >
> > > -Garth
> > >
> > > Northern.CA ===---
> > > http://www.northern.ca
> > >
> > >
> >
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net
> For additional commands, e-mail: php-general-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
>
>
>