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
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.
Đã trao cho:
Hi. My bid is low because the task is relatively easy and, besides, this would be my first project at Freelancer.com. I'm looking forward to this job. Thank you.
11 freelancer đang chào giá trung bình $95 cho công việc này
Why offshore? I can write this function and provide well detailed documentation. As well as host this function on my cloud server so we can test all use cases. [url removed, login to view]