Closed

PHP function to parse street address data

This project was awarded to danmysak for $40 USD.

Get free quotes for a project like this
Employer working
Awarded to:
Skills Required
Project Budget
$30 - $250 USD
Total Bids
12
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

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online