将用户输入的位置转换为可用的东西

Converting user entered location into something usable

我有一个 table 包含用户输入的位置数据,取自一系列推文。这是一个例子:

texas 
Chicago
california
NEW YORK
Ohio
Canada
London
nyc
michigan
Tx
nj 
Florida
Chicago, IL
New Jersey 
Indiana
HTX
Los Angeles
Houston, TX

如您所见,德克萨斯以不同的形式出现了四次。

有谁知道 "normalising" 从我所拥有的数据中提取城市、州、国家/地区数据的方法吗?是否有预先存在的查找数据库或 api 之类的?

很高兴 MySQL and/or PHP.

中的解决方案

哦,所以我想你可以使用 followed Mysql query

select DISTINCT Column from table where Column IN (select replace(Column, 'tx', 'texas') from table where Column like '%tx%')

我保留第一个答案,这样它可能会对其他人有所帮助。

最后找到这个:

http://www.geonames.org/

这将满足我的需要。