방법: 1. "str_replace()" 함수를 사용합니다. 구문 형식은 "str_replace('중국어 기호', '영어 기호', 문자열)"입니다. 2. 문자 길이가 65280보다 큰 경우 일반 대체를 사용합니다. 65375보다 작으면 문자 길이에서 65248을 빼면 됩니다.
이 튜토리얼의 운영 환경: 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. 반각 기호와 전각 기호의 대응 관계는 무엇인가요?
///全角空格为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 중국어 웹사이트의 기타 관련 기사를 참조하세요!