さまざまなMicrosoftOfficeスイートアプリケーション(Excel、Access、およびWord)からの(コピー/貼り付けされた)文字列を、それぞれ独自のエンコーディングセットでクリーンアップする必要があります。
エンコードされたすべての文字を表示できるようにするために、デバッグ目的でjson_encodeを使用しています。
これまでに見つけたもの(\ r \ n)はすべてstr_replaceでクリーンアップできますが、\u00a0では運がありません。
$string = 'mail@mail.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0;mail@mail.com'; //this is the output from json_encode
$clean = str_replace("\u00a0", "",$string);
戻り値:
mail@mail.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0;mail@mail.com
それはまったく同じです。\u00a0を完全に無視します。
これを回避する方法はありますか?また、私は車輪の再発明をしていると感じていますが、すべての可能なエンコーディングのすべての可能な文字を完全に取り除く関数/クラスはありますか?
____編集____
最初の2つの応答の後、実際の文字列ではなくjson_encodeからの出力であるため、私の例が機能することを明確にする必要があります。