方法: 1. 「str_replace()」関数を使用します。構文形式は「str_replace('中国語記号', '英語記号', string)」です。 2. 文字長が異なる場合は、通常の置換を使用します。が 65280 より大きい場合、 65375 より小さい場合は、文字長から 65248 を減算するだけです。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
str_replace( の単純な置き換え)
通常の置換の違いは 65248
方法 1: 単純な置換 (PHP コード)
$val1=str_replace(',',',',$val1); $val1=str_replace('(','(',$val1); $val1=str_replace(')',')',$val1);
方法 2: すべての文字replace (定期置換)
for (int i = 0; i < c.Length; i++) { if (c[i]==12288) { c[i]= (char)32; continue; } if (c[i]>65280 && c[i]<65375) c[i]=(char)(c[i]-65248); }
1. 半角記号と全角記号の対応関係は何ですか?
///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///
2 中国語の句読点を英語の句読点に置き換えます
単純な置換 (PHP コード)
$val1=str_replace(',',',',$val1); $val1=str_replace('(','(',$val1); $val1=str_replace(')',')',$val1);
/// 转全角的函数(SBC case) /// ///任意字符串 /// 全角字符串 /// ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 /// public string ToSBC(string input) { //半角转全角: char[] c=input.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i]==32) { c[i]=(char)12288; continue; } if (c[i]<127) c[i]=(char)(c[i]+65248); } return new string(c); } /// /// 转半角的函数(DBC case) /// ///任意字符串 /// 半角字符串 /// ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 /// public string ToDBC(string input) { char[] c=input.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i]==12288) { c[i]= (char)32; continue; } if (c[i]>65280 && c[i]<65375) c[i]=(char)(c[i]-65248); } return new string(c); }
おすすめ: 「2021 PHP 面接の質問まとめ (集)」「php ビデオ チュートリアル 》
以上がPHPで中国語の記号を英語の文字に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。