MB_CONVERT_KANA 는 PHP의 멀티 바이트 문자열 처리 기능으로 카나 문자와 같은 일본어 문자로 전체 폭 및 반 폭을 변환하는 데 사용됩니다. 이 기능은 입력에서 전체 폭 및 반 폭을 처리하는 데 특히 적합하여 입력 컨텐츠의 형식이 통합되도록합니다.
mb_convert_kana 함수의 일반적인 형식은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$option</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span></span>
$ str는 변환 할 문자열입니다.
$ 옵션 은 변환 옵션이며 다음을 포함 할 수 있습니다.
'a'는 모든 전체 폭스 영어 번호 캐릭터를 반 세기로 변환합니다.
'a'는 전체 폭의 영어 편지를 반 넓이로 변환합니다.
'k'는 전체 폭의 가명을 반 넓이로 변환합니다.
'k'는 전체 폭으로 가명 문자 (긴 음표 포함)를 반 넓이로 변환합니다.
'H'는 전체 폭스 구두점을 반 세기로 변환합니다.
'H'는 전체 폭스 구두점 (기간, 쉼표 포함)을 반 더 율로 변환합니다.
'C'는 전체 너비 숫자를 절반 너비로 변환합니다.
$ 인코딩 은 문자 인코딩 (예 : UTF-8 ) 및 기본값이 SJI 입니다.
예를 들어, 전체 폭스 영어 숫자가 포함 된 문자열을 반 세기로 변환합니다.
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"ABC123"</span></span><span>;
</span><span><span class="hljs-variable">$converted</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>); </span><span><span class="hljs-comment">// 결과는입니다 'ABC123'</span></span><span>
</span></span>
preg_replace는 일반 패턴에 따라 문자열로 내용을 대체하는 PHP의 정규 표현 함수입니다. 이를 통해 특히 특수 문자를 제거하거나 입력 해야하는 경우 문자열에서 복잡한 패턴 매칭 및 교체 작업을 쉽게 수행 할 수 있습니다.
preg_replace 함수의 기본 사용량은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>
$ 패턴은 정규 표현식의 패턴입니다.
$ 교체는 교체 할 문자열입니다.
$ 주제 는 보류중인 문자열입니다.
예를 들어 문자열의 모든 숫자를 별표로 바꿉니다.
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">"/\d/"</span></span><span>, </span><span><span class="hljs-string">"*"</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// 결과는입니다 'abc***xyz'</span></span><span>
</span></span>
mb_convert_kana 와 preg_replace를 함께 사용하면 입력을보다 세분화 할 수 있습니다. 예를 들어, 사용자가 입력 할 때 전체 폭을 반 세기로 변환 할뿐만 아니라 추가 공백이나 다른 비 알파럼 문자를 제거 할 수도 있습니다. 다음은이 두 기능을 결합하여 입력을 정상화하는 방법을 보여주는 예입니다.
사용자가 전체 너비 문자, 공간 또는 특수 기호로 일부 문자열을 입력 할 수있는 양식이 있다고 가정합니다. 우리는 데이터의 일관성을 보장하기 위해 저장하기 전에 정상화하기를 희망합니다.
<span><span><span class="hljs-comment">// 사용자가 입력 한 원래 데이터를 가정하십시오</span></span><span>
</span><span><span class="hljs-variable">$user_input</span></span><span> = </span><span><span class="hljs-string">" ABC 123 !@#"</span></span><span>;
</span><span><span class="hljs-comment">// 사용 mb_convert_kana 전체 너비 문자를 반 폭으로 변환하십시오</span></span><span>
</span><span><span class="hljs-variable">$normalized_input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$user_input</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>);
</span><span><span class="hljs-comment">// 사용 preg_replace 여분의 공간과 특수 기호를 제거하십시오</span></span><span>
</span><span><span class="hljs-variable">$normalized_input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">"/[^a-zA-Z0-9]/"</span></span><span>, </span><span><span class="hljs-string">""</span></span><span>, </span><span><span class="hljs-variable">$normalized_input</span></span><span>);
</span><span><span class="hljs-comment">// 결과 출력</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$normalized_input</span></span><span>; </span><span><span class="hljs-comment">// 결과는입니다 'ABC123'</span></span><span>
</span></span>
MB_CONVERT_KANA ($ user_input, 'a') : 모든 전형 문자 (영어 숫자 문자 및 가명 포함)를 반 세기 문자로 변환합니다.
preg_replace ( "/[^a-za-z0-9]/", ",", $ tormanized_input) : 문자열에서 모든 비 알파 너매 문자 (즉, 공백, 구두점 마크 등)를 삭제합니다.
이 조합 응용 프로그램은 다음 시나리오에서 사용하기에 이상적입니다.
양식 제출 : 사용자가 데이터를 제출할 때 종종 전체 및 반 넓이, 공백, 구두점 마크 등을 혼합하는 등의 일관되지 않은 형식으로 컨텐츠를 입력합니다.이 두 기능을 사용하여 일관된 형식으로 변환 할 수 있습니다.
데이터베이스 스토리지 : 데이터를 저장할 때 데이터의 일관성이 후속 처리에 매우 중요합니다. 입력을 정규화하면 일관되지 않은 형식으로 인한 쿼리 오류가 피합니다.
검색 기능 : 정규화 된 입력은 퍼지 검색 또는 키워드 매칭을 지원 해야하는 경우 검색 정확도를 향상시키는 데 도움이 될 수 있습니다.
mb_convert_kana 와 preg_replace를 결합함으로써 사용자 입력의보다 유연하고 상세한 정규화를 수행 할 수 있습니다. 이 방법은 문자 형식을 통합 할뿐만 아니라 쓸모없는 기호와 공간을 제거하여 데이터 일관성과 품질을 향상시킵니다. 실제 개발 에서이 방법은 종종 양식 입력 처리, 데이터베이스 스토리지 및 검색 엔진 최적화와 같은 시나리오에서 사용되며 매우 실용적인 기술입니다.