ucwords 함수는 각 단어의 첫 글자를 문자열로 변위로 변환하는 데 사용되며 다른 문자는 소문자로 남아 있습니다. 이 기능은 특히 제목을 형식화하거나 각 단어의 첫 번째 문자를 대문자화하는 데 적합합니다.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"hello world"</span></span><span>;
</span><span><span class="hljs-variable">$formatted</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ucwords</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formatted</span></span><span>; </span><span><span class="hljs-comment">// 산출 "Hello World"</span></span><span>
</span></span>
strtolower 함수는 문자열의 모든 글자를 소문자로 변환합니다. 이는 통합 텍스트 케이스 형식, 특히 사용자 입력을 처리 할 때 통합 된 처리를 위해 소문자로 변환해야합니다.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"HELLO WORLD"</span></span><span>;
</span><span><span class="hljs-variable">$formatted</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formatted</span></span><span>; </span><span><span class="hljs-comment">// 산출 "hello world"</span></span><span>
</span></span>
UCWORDS 와 StrTOLOWER는 각각 다른 용도를 가지고 있지만 일부 시나리오에서는이 두 기능을 결합하면 문자열 형식을보다 유연하게 처리하는 데 도움이 될 수 있습니다.
사용자가 입력 한 제목을 처리한다고 가정하고 사용자가 입력 한 제목은 대문자, 모든 소문자 또는 혼합 케이스에있을 수 있습니다. 일관성을 유지하려면 일반적으로 전체 문자열을 소문자로 변환 한 다음 각 단어의 첫 글자를 대문자로 변환해야합니다. 현재 Strtolower 와 UCWords 기능의 조합은 매우 실용화됩니다.
<span><span><span class="hljs-variable">$title</span></span><span> = </span><span><span class="hljs-string">"tHis is a mIXED case TITle"</span></span><span>;
</span><span><span class="hljs-variable">$formatted_title</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ucwords</span></span><span>(</span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$title</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formatted_title</span></span><span>; </span><span><span class="hljs-comment">// 산출 "This Is A Mixed Case Title"</span></span><span>
</span></span>
이 접근법은 사용자 입력에 관계없이 제목을 표준화 된 타이틀 형식으로 포맷 할 수 있도록합니다.
일부 응용 프로그램에서 특히 뉴스 나 기사 데이터를 다룰 때 저자의 이름을 표준 형식으로 포맷해야 할 수도 있습니다. 예를 들어, 모든 대문자, 모든 소문자 또는 임의의 대문자에서 저자 이름을 만날 수 있습니다. 이 경우 전체 이름을 먼저 소문자로 변환 한 다음 각 단어의 첫 글자를 대문자로 변환하는 것이 매우 일반적입니다.
<span><span><span class="hljs-variable">$author</span></span><span> = </span><span><span class="hljs-string">"jOhN doE"</span></span><span>;
</span><span><span class="hljs-variable">$formatted_author</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ucwords</span></span><span>(</span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$author</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formatted_author</span></span><span>; </span><span><span class="hljs-comment">// 산출 "John Doe"</span></span><span>
</span></span>
이런 식으로, 사용자가 저자의 이름을 어떻게 입력하든 최종 출력 이름은 표준 형식을 준수합니다.
비 알파벳 문자 (예 : 숫자, 기호 등)를 포함하는 문자열을 다룰 때 ucwords 및 strtolower는 예상과 다르게 행동 할 수 있습니다. 예를 들어, ucwords는 이전의 문자 만 활용하며 숫자 또는 기호의 경우 아무것도 변경하지 않습니다. 따라서 이러한 캐릭터를 다룰 때 특히주의해야합니다.
입력 문자열에 숫자 또는 기호가 포함되어 있고 문자열 형식의 일관성을 보장하려면, 비 alphabetical 문자가 서식 효과를 방해하지 않도록 추가 처리가 필요할 수 있습니다.
다국어 환경에서 문자 케이스 변환은 다른 언어 규칙의 영향을받을 수 있습니다. 예를 들어, 일부 언어에서는 사례 변환이 영어만큼 간단하고 직접적이지 않습니다. 따라서 strtolower 또는 ucwords 처리되면 다른 언어의 문자가 관련된 경우 MB_STRTOLOWER 또는 MB_CONVERT_CASE 와 같은 특수 기능이 멀티 바이트 문자를 처리하여 올바른 변환을 보장하는 데 필요할 수 있습니다.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"türkeY"</span></span><span>;
</span><span><span class="hljs-variable">$formatted</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ucwords</span></span><span>(</span><span><span class="hljs-title function_ invoke__">mb_strtolower</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formatted</span></span><span>; </span><span><span class="hljs-comment">// 산출 "Türkey"</span></span><span>
</span></span>
MB_STRTOLOWER를 사용하면 멀티 바이트 문자를 처리 할 때 오류가 발생하지 않도록 할 수 있습니다.
때로는 특정 경우에만 대문자 또는 소문자 사례로 특정 단어를 변환하는 것과 같이 더 복잡한 문자열 처리를 수행해야 할 수도 있습니다. 보다 정교하게 서식을 제어하기 위해 정기적 인 표현식을 처리 할 수 있습니다.
예를 들어, 제목에서는 자본 전환없이 특정 연결 (예 : "및", "또는"등의 소문자를 유지할 수 있습니다. 이 경우, 이러한 연결은 UCWords 및 strtolower를 적용하기 전에 정규식을 통해 소문자로 대체 될 수 있습니다.
ucwords 와 strtolower 는 두 가지 매우 강력한 문자열 처리 기능입니다. 이를 결합하여 다양한 문자열 서식 요구 사항을 쉽게 구현할 수 있습니다. 이 두 기능을 사용하여 제목을 형식화하거나 저자의 이름을 표준화하거나 사용자 입력을 처리하든 코드를보다 간결하고 일관성있게 만들 수 있습니다. 최상의 결과를 얻으려면 실제 요구에 따라 정규 표현식 또는 다중 바이트 문자 처리를 결합하여 처리의 정확성과 유연성을 더욱 향상시킬 수 있습니다.