相关疑难解决方法(0)

正则表达式 - 返回名字和姓氏

我正在寻找最可靠的方法来返回给出全名的人的名字和姓氏,到目前为止,我能想到的最好的是以下正则表达式:

$name = preg_replace('~\b(\p{L}+)\b.+\b(\p{L}+)\b~i', '$1 $2', $name);
Run Code Online (Sandbox Code Playgroud)

预期的输出应该是这样的:

William -> William // Regex Fails
William Henry -> William Henry
William Henry Gates -> William Gates
Run Code Online (Sandbox Code Playgroud)

我也希望它支持口音,例如"João".

编辑:我理解一些名称将无法正确识别,但这对我来说不是问题,因为这将用于本地站点,其中最后一个字是姓氏(虽然可能不是整个姓氏) )但这不是一个问题,因为我想要的只是一个快速的方式来说"亲爱的FIRST_NAME LAST_NAME"......所以所有这些讨论虽然完全有效,但对我来说毫无用处.

有人可以帮我弄这个吗?

php regex string

2
推荐指数
2
解决办法
2922
查看次数

标签 统计

php ×1

regex ×1

string ×1