Имена в верхнем регистре преобразуются в правильный регистр, обрабатывая «O'Hara», «McDonald», «van der Sloot» и т. д.

Мне предоставляется список имен в верхнем регистре. Для приветствия в электронном письме я хотел бы, чтобы они были в правильном корпусе.

Это достаточно легко сделать, используя PHP ucwords . Но я чувствую, что мне нужна функция регулярного выражения для обработки распространенных исключений, таких как:

"O'Hara", "McDonald", "van der Sloot", etc

Дело не столько в том, что мне нужна помощь в построении оператора регулярного выражения для обработки трех приведенных выше примеров (, хотя это было бы неплохо ), сколько в том, что я не знаю, какими могут быть все распространенные исключения.

Наверняка кто-то сталкивался с этой проблемой раньше, какие-нибудь указатели на опубликованные решения или что-то, чем вы могли бы поделиться?

5
задан AllInOne 17 July 2012 в 19:09
поделиться