PHP function to parse street address data

IN PROGRESS
Bids
12
Avg Bid (USD)
$104
Project Budget (USD)
$30 - $250

Project Description:
We require a robust PHP function to parse a given street address into its different elements being [apartment number][street number][street][suburb][state][postcode]. The given street address data may be given in different various forms, the function will need to break down the address into its proper form, or return an "invalid" address.

For example, raw data to be something like this:
- Raw data: "22/8 Victoria St, Manly NSW 2008", to return [22] [8] [Victoria Street] [Manly] [NSW] [2008]
- Raw data: "Unit 22, 8 Victoria street, Manly NSW 2008", to return [22] [8] [Victoria Street] [Manly] [NSW] [2008]
- and all various cases (pls see attachment)

Requirements:
- Function needs to be heavily commented, well structured and easily followable (this is part of a larger project)
- Needs to take into account many different street address formats (please see attachment)
- Street type needs conversion if abbreviated i.e. st = Street, Rd = Road, ave = Avenue (please see attachment for all cases)
- The parsed street address should be returned as an array $address['apt_num'], $address['st_num'], $address['street'] etc
- Function should only return the above address array if passes all the filters and can be correctly parsed, some addresses may be invalid
- If "apartment number" AND/OR "state" AND/OR "postcode" are not provided for, that is acceptable. All other elements are required

Other comments:
- Use of preg is fine
- Use of google maps to verify is fine
- State is always 3 alpha characters in caps
- Postcode is always 4 numeric characters long

Additional Project Description:
05/14/2012 at 9:16 EDT
Note: This is not a scrapping exercise! The street address will be given per the excel file attached. The function is expected to return the desired results in the excel file for a given string.

Skills required:
PHP
Additional Files: Address+Validation.xlsx
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 120
in 5 days
$ 120
in 3 days
Hire leomedina01
$ 100
in 2 days
Hire phpXpertbd
$ 85
in 2 days
$ 80
in 3 days
$ 80
in 3 days
Hire danmysak
$ 40
in 1 days
Hire eons
$ 50
in 2 days
Hire YpT2BqD65
$ 250
in 1 days
Hire Tusharzanec
$ 50
in 4 days