You have chosen to sponsor your bid up to a maximum amount of .
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   [Victoria Street] [Manly] [NSW] 
- Raw data: "Unit 22, 8 Victoria street, Manly NSW 2008", to return   [Victoria Street] [Manly] [NSW] 
- and all various cases (pls see attachment)
- 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
- 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.