ホームページ >バックエンド開発 >PHPの問題 >PHPで中国語の記号を英語の文字に変換する方法

PHPで中国語の記号を英語の文字に変換する方法

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-06-01 11:47:234317ブラウズ

方法: 1. 「str_replace()」関数を使用します。構文形式は「str_replace('中国語記号', '英語記号', string)」です。 2. 文字長が異なる場合は、通常の置換を使用します。が 65280 より大きい場合、 65375 より小さい場合は、文字長から 65248 を減算するだけです。

PHPで中国語の記号を英語の文字に変換する方法

このチュートリアルの動作環境: 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. 半角記号と全角記号の対応関係は何ですか?

違いは 65248
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///

2 中国語の句読点を英語の句読点に置き換えます

単純な置換 (PHP コード)

$val1=str_replace(&#39;,&#39;,&#39;,&#39;,$val1);
$val1=str_replace(&#39;(&#39;,&#39;(&#39;,$val1);
$val1=str_replace(&#39;)&#39;,&#39;)&#39;,$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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。