PHP で中国語のスペースを削除する方法: 1. 正規表現 "preg_replace('/^[(\xc2\xa0)|\s] /', '', $new['content'] を使用します。 );" 中国語のスペースを削除する; 2. mb での定期的な置換によって中国語のスペースを削除します。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
中国語スペースを削除する方法phpで?
中国語のスペースを削除するための PHP の通常のコード
中国語のスペースにはいくつかの種類があります。問題を解決する簡単な方法はありません。全角スペースと全角スペース、例えば段落の区切りが空白で表示されてしまうとスペースだと誤解されてしまいますので、スペースを削除する前に必ずスペースかどうかを確認する必要があります。以下の解決策。
(1)/[\s| ] /This will do. | の後には全角スペースが続くことに注意してください
(2) mb## で通常の置換を試すこともできます
# また、Unicode を使用する場合は、正規表現記述子 u を追加することにも注意してください。ただし、中国語ではスペースとして表示されるスペースが多数あるため、たとえば、以下で遭遇したものは、その UnicodeエンコーディングはC2A0であり、次の式で問題を解くことができます。$new['content'] = preg_replace('/^[(\xc2\xa0)|\s]+/', '', $new['content']);ここに詳細があります: \xc2a0 はもともと Unicode 文字ですが、複数の文字と一致することはできず、1 つしか置き換えることができません [これはバイトの理由によるものかもしれません] 後になって、突然このような記述を見つけましたこれで問題は解決しましたが、中国語スペースと英語スペースの混同を避けるため、後から\sを追加してクリアしました。 実のところ、Unicode の正規表現はあまり使いやすいものではありません。 その他の参考情報:毎日、データを処理するときに余分なスペースが生成されることがよくあります。文字列を比較する場合、問題が発生し、余分なストレージ スペースも無駄になります。 スペースを削除するにはどうすればよいですか?おそらく、最初に PHP 組み込み関数 Trim() を思い浮かべるでしょう。はい、文字の先頭と末尾を処理する場合には確かに効果的ですが、この場合はそれができません。複数のスペースを 1 つのスペースに変換したり、スペースを順序付けられた通常のキューに変換したりするなど...そこで、正規表現が便利です。次のコードを見てください。
$str = ” This line contains\tliberal \r\n use of whitespace.\n\n”; // 首先去掉头尾空格 $str = trim($str); // 接着去掉两个空格以上的 $str = preg_replace(’/\s(?=\s)/’, '', $str); // 最后将非空格替换为一个空格 $str = preg_replace(’/[\n\r\t]/’, ' ', $str);上記の例を使用して、余分なスペースをすべて削除します。まず TRim() を使用して先頭と末尾のスペースを削除し、次に preg_replace() を使用して繰り返しスペースを削除します。 の (?=) は、後続のスペースと前のスペースのみが一致することを意味します。 推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPで中国語のスペースを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。