문제

당사 웹 사이트 사용자는 종종 이름과 주소 정보에 대한 많은 쓰레기를 입력합니다. 예를 들어, 모든 캡, 모든 소문자 등

우리가 사건을 고치면 훨씬 좋아 보이지만 누구나 이것을하는 좋은 방법을 제안 할 수 있습니다. 간단한 접근 방식은 이름으로 각 단어를 대문자로 만드는 것이지만 일부 이름을 다룰 때 실패합니다. 다음은 몇 가지 예입니다 ...

  • 밥 맥도날드
  • 사라 오코너
  • Mr Pete Smith

그리고 여기에 내가 그들을 바꾸고 싶은 것이 있습니다.

  • 밥 맥도날드
  • 사라 오코너
  • Mr Pete Smith

도움이된다면 PHP를 사용하고 있습니다.

도움이 되었습니까?

해결책

이 작업을 수행하거나 더 구체적으로 적용하는 올바른 방법은 없습니다. 선택한 모든 방법이 잘못 될 것입니다.

때때로 O'Connor는 O'Connor로서 소유자가 관습 적으로 철자를 맞출 것입니다. 또는 누군가가 실제로 Oconnor 일 때 O'Connor라고 가정했을 수도 있습니다. 때때로 맥도날드는 맥도날드입니다. 모든 글자는 소문자 인 "Bob Smith"라는 이름을 합법적으로 가질 수 있습니다.

제 생각에는 내가 할 수있는 수정은 모든 캡을 첫 번째 문자 대문자로 변경하는 것입니다. 그렇지 않으면, 미친 이름을 원한다고 결정한 사람과 구멍을 뚫는 사람을 구별 할 방법이 없기 때문에 혼자 내버려 두십시오.

다른 팁

그대로 두십시오. 사용자가 자신의 이름을 올바르게 쓸 정도로 자신을 존중하지 않는다면 왜 신경 쓰야합니까?

그럼에도 불구하고 이름을 사후 처리하기 위해 서브 루틴을 작성하면 유비쿼터스 사례를 처리 할 것입니다.

  • "von"과 같은 자본적이지 않은 단어를 제외한 첫 번째 단어 편지를 대문자
  • 특정 패턴과 맞춤 업데이트 일치하는 단어를 찾으십시오 (예 : 단어가 "MC"로 시작되면 세 번째 문자를 대문자).

문제의 복잡성으로 인해 수정 알고리즘이 작동 한 후 이름의 수동 편집에 의지해야한다고 생각합니다. 사용자 레지스터, 이름은 박사 후 처리 된 다음 중재 대기열에 추가하여 사용하기 전에 필요에 따라 업데이트하고 송장 및 소포 레이블에 인쇄 할 수 있습니다. 물론, 당신이 무엇을하고 있는지 알고 있다면 당신이 무엇을하고 있는지 알고 있습니다.

물론, 나와 같은 사람들은 그들의 이름의 중간에 대문자를 가진 사람들이 있습니다. 당신이 그것을 '수정'하려고하면 나를 모욕 할 것입니다. 'Developer Art'가 말했듯이, 사람들이 자신의 이름을 올바르게 쓸만큼 자신을 존중하지 않으면, 그것을 고치는 것은 당신의 일이 아닙니다.

당신이 사용할 수있는 $name = ucwords(strtolower($name)); PHP에서 당신이 원하는 것에 가까이 갈 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top