How to change Chinese punctuation to English punctuation in PHP

藏色散人
Release: 2023-03-11 08:38:02
Original
2740 people have browsed it

php method to change Chinese punctuation to English punctuation: 1. Replace through the "str_replace()" function; 2. Through "for (int i = 0; i < c.Length; i ){. ..}" method to replace.

How to change Chinese punctuation to English punctuation in PHP

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

php replaces all Chinese symbols with English symbols

  • Simple replacement str_replace()

  • Regular replacements have a difference of 65248

Method 1: 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
Copy after login

Method 2: Replace all characters (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. The corresponding relationship between half-width symbols and full-width symbols is How was it?

The average 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
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 study: "PHP Video Tutorial"

The above is the detailed content of How to change Chinese punctuation to English punctuation 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