PHP プログラムを開発するとき、多くの場合、文字列を処理する必要があります。文字列処理では、多くの場合、中国語のスペースを削除する必要があります。では、PHP を使用して中国語のスペースを削除するにはどうすればよいでしょうか?この記事では、PHPのtrim()関数を使って中国語のスペースを削除する方法を紹介します。
1. 中国語スペースとは何ですか?
中国語のスペースは、入力方法によって表示方法が異なりますが、基本的には同じで、キーボードのスペースバーを使用して入力できるプレースホルダーまたは半角記号です。中国語のスペースは、プログラム言語的には文字列ですが、通常のスペースとは異なり、文字と同じ 1 バイトを占有しますが、その ASCII コードは通常のスペースとは異なります。
2. PHP を使用して文字列の両端にある中国語のスペースを削除する方法
PHP の組み込みを使用するには通常 2 つの方法があります文字列の両端にある中国語のスペースを削除する関数 方法:
方法 1: トリム() 関数を使用する
PHP 言語には、trim() 関数が用意されています。スペース、タブ文字、改行文字などを含む、文字列の両端の空白文字を削除できます。ただし、デフォルトでは、この関数は ASCII コード値の範囲内のスペース文字のみを削除でき、中国語のスペースについては何もできません。
中国語のスペースの問題を解決する場合、trim() 関数の機能を拡張できます。正規表現を使用して中国語のスペースと一致させ、trim() 関数を通じてそれらを削除できます。具体的なコードは次のとおりです。
function chn_trim($str){ return preg_replace('/^[\p{Zs}\p{Zp}]+|[\p{Zs}\p{Zp}]+$/u', '', $str); }
上記のコードでは、文字クラス \p{Zs} と \p{Zp} を使用します。これらは、それぞれ Unicode のスペースと段落区切り文字に一致するために使用されます。修正 /u 文字の後の中国語のスペースが正しく認識されるようになりました。
この方法は中国語スペースの問題を効果的に解決できますが、その欠点は、中国語スペースから文字列を削除するたびに chn_trim() 関数を呼び出す必要があり、関数を再パッケージ化する必要があることです。十分に簡潔ではありません。
方法 2: PHP のグローバル関数を使用する
コードをより標準化して簡潔にするために、中国語スペースをグローバルに削除する関数を PHP のグローバル関数に追加できます。文字列の両端にあります。具体的なコードは次のとおりです。
if(!function_exists('trim_cn')){ function trim_cn($string){ $string = preg_replace('/^[\p{Zs}\p{Zp}]+|[\p{Zs}\p{Zp}]+$/u', '', $string); return trim($string); } }
上記のコードでは、まず方法 1 と同じ正規表現を使用し、preg_replace() 関数を使用して文字列の両端にある中国語のスペースを削除します。この関数はグローバル関数として使用する必要があるため、関数が既に存在するかどうかを if(!function_exists('trim_cn')) の条件判定で判定し、存在しない場合は関数を定義し、存在しない場合は処理を行いません。 。
このメソッドには一定の汎用性があり、中国語のスペースを削除する必要がある文字列ごとにカスタム関数 chn_trim() を呼び出す必要がなくなりました。この関数をグローバルに定義することでコード量が削減され、コードの可読性や保守性が向上します。
3. 概要
この記事では、中国語のスペースを削除する 2 つの方法を紹介します。 1 つ目の方法は、PHP の組み込みの Trim() 関数を拡張し、正規表現を使用して文字列の両端にある中国語のスペースを削除することです。 2つ目は、グローバル関数にtrim_cn()関数を追加し、関数の有無を判定してグローバル関数を定義し、文字列の両端の中国語スペースを削除する方法です。
もちろん、実際のプログラミングでは、他の方法を使用して中国語のスペースを削除できます。文字列を処理するときは、簡潔で読みやすいコードの原則に従う必要があり、コードの保守性を確保するために過度に複雑なコードを使用しないでください。
以上がPHPのtrim()関数を使用して中国語のスペースを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。