이 기사의 예에서는 ? 기호 없이 중국어 문자열을 가로채는 PHP의 솔루션을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
PHP가 중국어와 영어가 혼합된 문자열을 가로챌 때 마지막 한자는 종종 두 부분으로 분할됩니다. 예를 들어 처음 18자를 가로채는 경우가 있습니다. 문자열
<?php $text = "1欢迎访问sina新浪播客"; $value = substr($text, 0, 18); echo $value."<BR>"; ?>
출력은 다음과 같습니다.
1欢迎访问新浪?BR>
그래서 다음 코드를 작성하여 문자열의 한자 바이트 수가 중국어와 영어가 혼합된 문자열이 홀수이면 한자의 완전한 표시를 보장하기 위해 1바이트를 덜 가로채게 됩니다.
<?php $text = "1欢迎访问sina新浪播客"; $value = substr($text, 0, 18); $value_length = strlen($value); $value_count = 0; for ($i = 0; $i < $value_length; $i++) { if (ord($value{$i}) > 127) { $value_count++; } } if ($value_count % 2 != 0) { $value = substr($text, 0, $value_length - 1); } echo $value."<BR>"; ?>
출력은 다음과 같습니다:
1欢迎访问sina新浪
이 기사가 PHP를 사용하는 모든 사람에게 유용하길 바랍니다. 프로그램 설계에 도움이 되었습니다.
중국어 문자열을 나타나지 않고 가로채는 PHP 구현에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!