ホームページ > バックエンド開発 > PHPチュートリアル > PHP での中国語の文字からピンインの最初の文字への変換に関連する問題

PHP での中国語の文字からピンインの最初の文字への変換に関連する問題

WBOY
リリース: 2016-06-13 12:32:42
オリジナル
741 人が閲覧しました

PHPの中国語文字からピンインの最初の文字への問題。
プログラムを実行した後、文字列内の一部のテキストが変換できないことがわかりました。これらの単語を別々に入力すると、ピンインの最初の文字を読み上げるように直接変換できます。
これは文字列では機能しません。プログラムコードは次のとおりです:

function getfirstchar($s0){

$fchar = ord($s0{0});
If($fchar >= ord("a") および $fchar $s1 = iconv("UTF-8","gb2312", $s0);
$s2 = iconv("gb2312","UTF-8", $s1);
If($s2 == $s0){$s = $s1;}else{$s = $s0;}

$asc = ord($s{0}) * 256 ord($s{1}) - 65536;
If($asc >= -20319 および $asc If($asc >= -20283 および $asc If($asc >= -19775 および $asc If($asc >= -19218 および $asc If($asc >= -18710 および $asc If($asc >= -18526 および $asc If($asc >= -18239 および $asc If($asc >= -17922 および $asc If($asc >= -17417 および $asc If($asc >= -16474 および $asc If($asc >= -16212 および $asc If($asc >= -15640 および $asc If($asc >= -15165 および $asc If($asc >= -14922 および $asc If($asc >= -14914 および $asc If($asc >= -14630 および $asc If($asc >= -14149 および $asc If($asc >= -14090 および $asc If($asc >= -13318 および $asc If($asc >= -12838 および $asc If($asc >= -12556 および $asc If($asc >= -11847 および $asc If($asc >= -11055 および $asc null を返します。
}

関数 pinyin1($zh){

     $ret = "";  

     $s1 = iconv("UTF-8","gb2312", $zh);  

     $s2 = iconv("gb2312","UTF-8", $s1);  

     if($s2 == $zh){$zh = $s1;}

     for($i = 0; $i < strlen($zh); $i ){

         $s1 = substr($zh,$i,1);  

         $p = ord($s1); 

         if($p > 160){

             $s2 = substr($zh,$i ,2);  

             $ret .= getfirstchar($s2); 

         }その他{

             $ret .= $s1;  

         }

     }

     $ret を返す;  

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート