我想确保所有的姓氏都是大写的,所以在php中我使用:
$surname = ucfirst(strtolower($dataField));
我如何确保O'Brien这样的名字不会导致O'brien
答案 0 :(得分:1)
$surname = preg_replace('/\b(\w)(\w*)/', '\u$1\L$2', $surname);
\b
是一个元字符,意思是“一个字的边界”。 \w
表示任何单词字符([A-Za-z])。替换中的\u
表示“大写后面的第一个字母”。 \L
表示“小写直到比赛结束。”
这绝不是一个完整的解决方案。对于人名,计算机有点愚蠢。