Re: Parsing out numbers from a string

From: Date: Mon, 31 Dec 2001 02:10:09 +0000
Subject: Re: Parsing out numbers from a string
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-79084@lists.php.net to get a copy of this message
* John Weez (john@atomfx.com) [Dec 30. 2001 03:23]: > I have a small program which captures the output of a webpage and puts the > data in to a string variable. > I then use teh strip tags function of php to clean it up a bit. > then i want to use regular expressions to extract all the numbers from the > page ..they are like this usually numbers.numbers (IE: 40.40 ). > For some reason my expressions are not matching anything in the string > unless i type exactly what i am looking for... could the fact that there > are line reurns in the string be causing a problem? or do i need to > somehow tell php to goto the next line? How are you grabbing all the data from the page? > I had an older version of the program which saved teh data to a file and > then PhP scanned the file line by line..this worked...but i'm trying to > make a more elegant solution that won;t kill my hard drive faster ;) It's going to use a bit of memory to search an entire page with a regular expression. It's probably going to be slow(er) no matter how you slice it. I would use the PCRE functions; preg_match_all() probably.. Look over these: <http://www.php.net/manual/en/pcre.pattern.modifiers.php> I think you'll want to use m (and g is default, as the comment says). Something like this may work: <?php /* untested */ preg_match_all('/([0-9]+\.[0-9]+)/m',$string,$matches); while(list(,$match) = each($matches[0])) { print "$match\n"; } ?> -- Brian Clark | Avoiding the general public since 1805! Fingerprint: 07CE FA37 8DF6 A109 8119 076B B5A2 E5FB E4D0 C7C8 Recursive: Adj. See Recursive.

« previous php.general (#79084) next »