How to convert Chinese symbols to English letters in php

醉折花枝作酒筹
Release: 2023-03-10 08:18:01
Original
4228 people have browsed it

Method: 1. Use the "str_replace()" function, the syntax format is "str_replace('Chinese symbol', 'English symbol', string)"; 2. Use regular replacement, when the character length is greater than 65280 , when it is less than 65375, just subtract 65248 from the character length.

How to convert Chinese symbols to English letters in php

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

Simple replacement of str_replace()

The difference between regular replacements is 65248

Method one: simple replacement (php code)

$val1=str_replace(',',',',$val1);
$val1=str_replace('(','(',$val1); 
$val1=str_replace(')',')',$val1);
Copy after login

Method two: all character replacement (regular replacement)

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);
}
Copy after login

1. What is the corresponding relationship between half-width symbols and full-width symbols?

The difference is 65248
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///
Copy after login

2. Replace Chinese punctuation marks with English punctuation marks

Simple replacement (php code)

$val1=str_replace(&#39;,&#39;,&#39;,&#39;,$val1);
$val1=str_replace(&#39;(&#39;,&#39;(&#39;,$val1);
$val1=str_replace(&#39;)&#39;,&#39;)&#39;,$val1);
Copy after login
/// 转全角的函数(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);
}
Copy after login

Recommended: "2021 PHP interview questions summary (collection)" "php video tutorial

The above is the detailed content of How to convert Chinese symbols to English letters in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!