現在の位置: ホーム> 最新記事一覧> PHPは漢字のみを抽出する簡単な方法を実装しています

PHPは漢字のみを抽出する簡単な方法を実装しています

gitbox 2025-08-02

中国人とは何ですか?

中国語は、中国本土、台湾、シンガポール、マレーシア、その他の地域で人気のある言語であり、その執筆は漢字に依存しています。漢字は、ユニークで複雑なストロークとラジカルで構成されており、主に意味を表現するために音声と語順の一部に依存して、比較的単純な文法構造を持っています。

漢字エンコーディング

中国語は、ストレージと処理のためにコンピューターでエンコードする必要があります。一般的に使用されるエンコーディング方法は、主に次のとおりです。

GB2312エンコーディング

ユニコードエンコーディング

その中で、GB2312は二重バイトエンコーディングであり、一般的に使用される漢字やシンボルを含む約6763個の漢字をカバーしています。 Unicodeエンコーディングには世界中のすべての文字が含まれており、漢字は通常2バイトを占有します。

漢字のみを抽出する方法は?

PHPでは、正規表現を使用してユニコード範囲の漢字を一致させることができ、それにより中国語のみを保持する機能を実現できます。

 // テキストで中国語以外の文字を削除します
function remove_non_chinese($text) {
  // 漢字のみが保存されています
  $pattern = '/[\x{4e00}-\x{9fa5}]+/u';
  return preg_replace($pattern, '', $text);
}

上記のコードでは、ユニコードエンコード範囲\ x {4e00} - \ x {9fa5}を使用して漢字を一致させ、フラグuはユニコードモードが採用されることを意味します。

例の説明

$text = 'Hello, こんにちは,私はです PHP 開発者。';

非中国語の文字を削除するために関数を呼び出す:

 $chinese_only = remove_non_chinese($text);
echo $chinese_only; // 出力:こんにちは私はですPHP開発者

実行中の結果は、英語とスペースが正常にフィルタリングされ、漢字のみが残っていることを示しています。

使用に関する推奨事項

この方法は、主に単純化された漢字と一致し、従来の漢字に対するサポートは限られています。さらに、期間やコンマなどの句読点も削除されます。特定のアプリケーションを適用する場合、正規表現は、実際のシナリオに適合することを保証するためのニーズに応じて調整できます。