$re = '/(,+(.+[A-Z]{2} [0-9-]+)(,.*)(http.*[-._A-Za-z]+.[a-z]+),([-0-9]+),([- 0-9a-z]+))|(,+(.+[A-Z]{2} [0-9-]+))/m';
$str = ',P.O. Box 11000 Montgomery, AL 36191-0001 334-288-3900,,vvv
,,15520 Rockfield Blvd. Ste. C Irvine, CA 92618-2792,...Whether you are looking for a list broker, list manager, database marketing or data processing profe*ssional, \'s experienced...,http://www.carneydirect.com,949-581-5100,949-581-4564 fax,.,
,115 Sansome Street San Francisco, CA 94104-4508,...We are a "Results Agency" based in San Francisco that is dedicated to producing top performing creative and strategy for...,http://www.creativelift.net,415-248-3174,415-398-0144 fax,.,
,,2051 Dogwood Street Suite 220 Louisville, CO 80027,...The premier database marketing solutions provider and behavioral targeting firm for multi-channel marketers and advertisers. You can create, build and...,http://www.i-behavior.com,303-228-5000,303-...
,198 Scribner Ave. Norwalk, CT 06854-1324,...I am an email marketing and direct marketing consultant. I help companies build, execute and analyze their customer acquisition...,http://www.reggiebrady.com,203-838-8138,.,,,,,,
,RMI Direct Marketing,,44 Old Ridgebury Road, Plaza One Danbury, CT 06810-5129,...RMI is a premier customer acquisition, data and insert management firm. We specialize in market and competitor analysis, acquisition plans,...,http://www.rmidirect.com,203-798-0448,203-778-6130 fax,.,';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php