Home  >  Q&A  >  body text

php - 怎么从一堆英文名称里找出中国人?

有一堆的英文名称列表
Sjoerd van Tuinen
Ulisses Caramaschi
Ulisses Caramaschi
Pankaj Sekhsaria
Brandon Ballengée
Prima Adi Yoga
Mehmet Tunçer
Guoyou Zhang
Jose Carlos Mariategui
Cesar Amorós
Anne Pyburn
Bruce D Patterson
Nancy Sevcenko
Dwirienna Adiyanti
Ulises Chavez Jimenez

里面夹杂着中国人的英文名,比如Guoyou Zhang,怎么用程序能够快速地筛选出中国人姓名。
可以有中文姓氏和常用汉字的拼音列表。不知道用php程序怎么写?

高洛峰高洛峰2770 days ago489

reply all(9)I'll reply

  • PHPz

    PHPz2017-04-10 16:16:00

    只能找个库匹配了。
    如果这是你们产品经理提出来的,请果断让他放弃这个想法。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 16:16:00

    这个网上很多吧 ,给个链接

    reply
    0
  • PHPz

    PHPz2017-04-10 16:16:00

    参考excel的识别方式看看

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 16:16:00

    汉字区分出来比较容易啦
    主要是如何区分英文与拼音

    我的想法是找个拼音库,然后对比找出拼音,判断是否中国人姓名

    你可以看下面的链接下,看下里面的源码是否可以做拼音库
    http://www.oschina.net/code/snippet_862384_25415

    reply
    0
  • PHPz

    PHPz2017-04-10 16:16:00

    需要一个中文拼音的分词库!!!否则无法实现!!!

    reply
    0
  • 迷茫

    迷茫2017-04-10 16:16:00

    不知道php怎么处理,Java的话可以用pinyin4j从百家姓生成一份姓氏拼音表再匹配

    reply
    0
  • 阿神

    阿神2017-04-10 16:16:00

    没有十分准确的办法,因为没办法严格区分。即便你能整理一个拼音库,也有很多问题。举个例子,一位嫁给老外的女士,改用丈夫姓氏,对比库无法处理。藏蒙等少数民族的名字无法处理。韩国、泰国等国家有姓氏的拼写方式和中文重合。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 16:16:00

    本质是区分拼音和英文单词,用正则匹配:
    1.拿常用姓氏的拼音结尾规则去匹配所有姓名,拿到初筛数据。
    2.大部分的汉子拼音都由声母和韵母结合构成,利用这个规则进一步检验初筛数据

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 16:16:00

    你说Marry Zhang这个是中国人还是外国人呢?
    能匹配的前提是别像外企一样让中国人非得给自己起个洋名

    同样的Mike是英文的麦克还是中文的米克呢?这个问题倒是不大

    reply
    0
  • Cancelreply