>백엔드 개발 >PHP 문제 >PHP에서 중국어 기호를 영어 문자로 변환하는 방법

PHP에서 중국어 기호를 영어 문자로 변환하는 방법

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-06-01 11:47:234326검색

방법: 1. "str_replace()" 함수를 사용합니다. 구문 형식은 "str_replace('중국어 기호', '영어 기호', 문자열)"입니다. 2. 문자 길이가 65280보다 큰 경우 일반 대체를 사용합니다. 65375보다 작으면 문자 길이에서 65248을 빼면 됩니다.

PHP에서 중국어 기호를 영어 문자로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

간단한 교체 str_replace()

정기 교체는 모두 65248

의 차이가 있습니다. 방법 1: 단순 교체(php 코드)

$val1=str_replace(',',',',$val1);
$val1=str_replace('(','(',$val1); 
$val1=str_replace(')',')',$val1);

방법 2: 모든 문자 교체(정기 교체)

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.