RE: [PHP] split on whitespace, preserving whitespace...
| From: | Don Read | Date: | Fri, 20 Jul 2001 16:31:37 +0000 |
| Subject: | RE: [PHP] split on whitespace, preserving whitespace... | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-58930@lists.php.net to get a copy of this message | ||
On 20-Jul-2001 Garth Dahlstrom wrote:
> 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]),'.,/'))
> {
> //check spelling
> //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
>
$line='Just a test; (some) text for checking stuff/things.';
$words=preg_split("/[^\w]+/", $line);
echo $line, '<P>';
while (list ($k, $v) = each($words)) {
echo "$k -> $v", '<BR>';
}
Regards,
--
Don Read dread@texas.net
-- It's always darkest before the dawn. So if you are going to
steal the neighbor's newspaper, that's the time to do it.