ホームページ バックエンド開発 PHPチュートリアル PHP は、文字列が純粋な英語なのか、純粋な中国語なのか、それとも中国語と英語の混合なのかを判断します。

PHP は、文字列が純粋な英語なのか、純粋な中国語なのか、それとも中国語と英語の混合なのかを判断します。

Jun 13, 2016 pm 01:02 PM
return span str strlen

PHP は、文字列が純粋な英語、純粋な中国語、または中国語と英語の混合であるかどうかを判断します

正規表現判定と文字値が 128 未満かどうかを判定する分割文字判定に加えて、文字列が中国語 (または英語) であるかどうかを判定する PHP メソッド

?

さらに特殊な方法もあります。

PHP で mb_strlen 関数と strlen 関数を使用して を決定します
この方法は比較的単純です。上記の 2 つの関数を使用して、現在のエンコーディングでの文字の戻り値を測定し、戻り値を比較します。
等しい戻り値は、純粋な英語、純粋な数値、および英語と数値の混合です。 戻り値は等しくなく、strlen の戻り値は mb_strlen で割り切れ、純粋な漢字です
戻り値は等しくなく、strlen の戻り値は mb_strlen で割り切れません。英語と中国語、または中国語と中国語の混合配列です。

?

次の例を見てください:

?
<?php  
$strarray[1] = "hello";
$strarray[2] = "123456";
$strarray[3] = "123hello"; 
$strarray[4] = "你好";
$strarray[5] = "123你好";
$strarray[6] = "hello你好";
$strarray[7] = "123hello你好"; 

foreach ($strarray as $key->$value) 
{ 
    $x = mb_strlen($value,'gb2312'); 
    $y = strlen($value); 

    echo $strarray[$key].'  <span style="color: #ff0000;">'.$x.'</span> <span style="color:#ff0000;">'.$y.'</span>'; 
} 

?> 
ログイン後にコピー
実行後の結果は次のとおりです:

こんにちは5 5
123456 6 6
123こんにちは8 8
こんにちは2 4
123 こんにちは5 7
こんにちは7 9
123こんにちは、こんにちは10 12

?

出典: http://007blogchina.appspot.com/?p=130001

?

HP には、文字列が純粋な英語なのか、純粋な中国語なのか、それとも中国語と英語の混合なのかを判断する直接的な関数はありません。この関数は自分で作成するしかありません。この機能を実現するには、文字セットの中国語の文字エンコーディングの占有率を理解する必要があります。現在、中国で最も一般的に使用されている文字セットは UTF8 と GBK です。

UTF8 の各漢字は 3 つの長さに等しい;

GBK の各漢字は 2 つの長さに等しい

中国語と英語の上記の違いを利用して、mb_strlen 関数と strlen 関数を使用して 2 組の長さの数値をそれぞれ計算し、規則に従って演算を実行して文字列の型を決定できます。

?

UTF-8 インスタンス

?
<?php
/**
 * PHP判断字符串纯汉字 OR 纯英文 OR 汉英混合
 */
echo '<meta charset="utf-8" />';
function utf8_str($str){
    $mb = mb_strlen($str,'utf-8');
    $st = strlen($str);
    if($st==$mb)
        return '纯英文';
    if($st%$mb==0 && $st%3==0)
        return '纯汉字';
    return '汉英混合';
}
 
$str = '博客';
echo '字符串:<span style="color:red">'.$str.'</span>,是<span style="color:red">'.utf8_str($str).'</span>';
?>
ログイン後にコピー

GBK方式

?
function gbk_str($str){
    $mb = mb_strlen($str,'gbk');
    $st = strlen($str);
    if($st==$mb)
        return '纯英文';
    if($st%$mb==0 && $st%2==0)
        return '纯汉字';
    return '汉英混合';
}
ログイン後にコピー
出典: http://www.qttc.net/201207142.html

?

?

?

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

Javaのreturn文とfinally文の実行順序は何ですか? Javaのreturn文とfinally文の実行順序は何ですか? Apr 25, 2023 pm 07:55 PM

ソースコード: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#出力 上記のコードの出力は、単純に次のように結論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

Vue3 はセットアップ構文シュガーをどのように使用して return の書き込みを拒否しますか Vue3 はセットアップ構文シュガーをどのように使用して return の書き込みを拒否しますか May 12, 2023 pm 06:34 PM

Vue3.2 セットアップ構文シュガーは、単一ファイル コンポーネント (SFC) で結合された API を使用して、Vue3.0 の面倒なセットアップを解決するコンパイル時構文シュガーです。宣言された変数、関数、インポートによって導入されたコンテンツは、インポートによって公開されます。使用上の問題点 1. 宣言した変数、関数、import で導入した内容を使用中に return する必要はなく、糖衣構文を使用することができます。 // 導入した内容をインポート import{getToday }from'./utils'//variable constmsg='Hello !'//function func

divとspanの違いは何ですか? divとspanの違いは何ですか? Nov 02, 2023 pm 02:29 PM

違いは次のとおりです: 1. div はブロックレベル要素であり、span はインライン要素です。2. div は自動的に行を占有しますが、span は自動的に折り返されません。3. div はより大きな構造とレイアウトを折り返すために使用されます。テキストまたは他のインライン要素をラップするために、span が使用されます。4. div には他のブロックレベル要素とインライン要素を含めることができ、span には他のインライン要素を含めることができます。

Python組み込み型strソースコード解析 Python組み込み型strソースコード解析 May 09, 2023 pm 02:16 PM

1 Unicode コンピュータ ストレージの基本単位は 8 ビットで構成されるバイトです。英語は 26 文字といくつかの記号のみで構成されているため、英語の文字はバイト単位で直接格納できます。ただし、他の言語 (中国語、日本語、韓国語など) では、文字数が多いため、エンコードに複数のバイトを使用する必要があります。コンピューター技術の普及に伴い、非ラテン文字エンコード技術は発展を続けていますが、依然として 2 つの大きな制限があります。 多言語サポートがないこと。 ある言語のエンコード スキームを別の言語で使用することはできません。また、統一された標準もありません。たとえば、中国語には GBK、GB2312、GB18030 など、多くのエンコード標準があります。エンコード方式が統一されていないため、開発者は異なるエンコード間で相互に変換する必要があり、必然的に多くのエラーが発生します。

JavaScript で return キーワードを使用する JavaScript で return キーワードを使用する Feb 18, 2024 pm 12:45 PM

JavaScript での return の使用には特定のコード例が必要です。 JavaScript では、return ステートメントを使用して関数から返される値を指定します。関数の実行を終了するために使用できるだけでなく、関数が呼び出された場所に値を返すこともできます。 return ステートメントには次の一般的な用途があります。 値を返す return ステートメントは、関数が呼び出された場所に値を返すために使用できます。簡単な例を次に示します。 functionadd(a,b){

JavaScript関数の戻り値とreturn文の詳しい解説 JavaScript関数の戻り値とreturn文の詳しい解説 Aug 04, 2022 am 09:46 AM

JavaScript 関数は、外部と対話するための 2 つのインターフェースを提供し、パラメータは外部情報を受け取る入り口として機能し、戻り値は演算結果を外部にフィードバックする出口として機能します。次の記事では、JavaScript 関数の戻り値を理解し、return ステートメントの使用法を簡単に分析します。

Python の __str__ と __repr__ の類似点と相違点は何ですか? Python の __str__ と __repr__ の類似点と相違点は何ですか? Apr 29, 2023 pm 07:58 PM

__str__ と __repr__ の類似点と相違点は何ですか? 文字列の表現については誰もが知っています。Python の組み込み関数 repr() は、識別を容易にするためにオブジェクトを文字列の形式で表現できます。これが「文字列表現」です。 repr() は、特別なメソッド __repr__ を通じてオブジェクトの文字列表現を取得します。 __repr__ が実装されていない場合、ベクトルのインスタンスをコンソールに出力すると、結果の文字列が次のようになります。 >>>classExample:pass>>>print(str(Example()))>>>

See all articles