You can get all the terms into an array using preg_match_all:-

$str = "UNAVAILABLE More Info AVAILABLE More Info";
$regExp = "/(?:UN)?AVAILABLE|More Info/";
preg_match_all($regExp, $str, $regs);

$regs[0] will contain the matched terms - you should then be able to use
array functions to do whatever else you need to do - counting, positions,
etc

Debbie

----- Original Message -----
From: "Justin French" <[EMAIL PROTECTED]>
To: "Richard Kurth" <[EMAIL PROTECTED]>; "php-general"
<[EMAIL PROTECTED]>
Sent: Saturday, September 28, 2002 6:26 PM
Subject: Re: Re[2]: [PHP] counting words in a string


> You need to look at a few options... one is regular expression (not my
> forte), or perhaps winding through the string one character at a time,
> writing a very simple state engine.
>
> Justin French
>
>
> on 28/09/02 4:47 PM, [EMAIL PROTECTED] ([EMAIL PROTECTED]) wrote:
>
> > Hello Justin,
> >
> > That worked perfect but I have one more problem I need to know if one
> > of the word is UNAVAILABLE I need to know if it is the first one or
> > the second one. I don't know if there is any way to do this.
> > 1st                 2nd
> > $string ="UNAVAILABLE AVAILABLE More Info";
> > 1st                   2nd
> > $string ="AVAILABLE More Info UNAVAILABLE ";
> >
> > Friday, September 27, 2002, 11:22:42 PM, you wrote:
> >
> >
> > JF> if this is your SPECIFIC problem, putting a space at the beginning
of
> > $srch
> > JF> will help, eliminating XAVAILABLE... but this will cause a problem
with
> > the
> > JF> word AVAILABLE appearing at the start of the string, so temporarily
put a
> > JF> space at the start of the string:
> >
> > JF> <?
> > JF> // UNTESTED
> > JF> $count = substr_count(' '.strtolower($string), strtolower('
'.$srch));
> > JF> echo $count;
> > ?>>
> >
> > JF> this won't help if there are newlines and other white space instead
of
> > JF> spaces, and won't help (so far) for a different set of
circumstances...
> >
> > JF> it would be nice to extend substr_count() could be extended to have
an
> > JF> option.
> >
> > JF> Justin
> >
> >
> >
> > JF> on 28/09/02 3:41 PM, [EMAIL PROTECTED] ([EMAIL PROTECTED])
wrote:
> >
> >>>
> >>> I need to count how many times the word AVAILABLE appears in a string
> >>> like this
> >>> $string ="AVAILABLE More Info AVAILABLE More Info";
> >>> some time the string looks like this
> >>> $string ="UNAVAILABLE More Info AVAILABLE More Info";
> >>> or
> >>> $string ="AVAILABLE More Info UNAVAILABLE More Info";
> >>> when I use
> >>> $srch="AVAILABLE";
> >>> $count=substr_count(strtolower($string), strtolower($srch));
> >>> echo $count;
> >>> it puts the count a 2 even when one of the words is UNAVAILABLE
> >>> how can I make it only count AVAILABLE and not UNAVAILABLE or visa
> >>> verse
> >
> >
> >
> >
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>


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

Reply via email to