ホームページ > バックエンド開発 > PHPチュートリアル > PHP の文字列から印刷不可能な文字を削除するにはどうすればよいですか?

PHP の文字列から印刷不可能な文字を削除するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-10 17:07:10
オリジナル
722 人が閲覧しました

How Can I Remove Non-Printable Characters from a String in PHP?

文字列から印刷不可能な文字を削除する

場合によっては、文字列から印刷不可能な文字を削除する必要がある場合があります。文字列 (文字列操作またはデータ中の 0 ~ 31 および 127 の範囲内の文字列など)

7 ビット ASCII

7 ビット ASCII 範囲 (0 ~ 31、127 ~ 255) の印刷不可能な文字を削除するには、次のコマンドを使用します。 preg_replace を使用した次の正規表現:

$string = preg_replace('/[x00-x1Fx7F-xFF]/', '', $string);

これにより、指定された範囲内のすべての文字が効果的に削除されます。

を処理するには8 ビット拡張 ASCII、0 ~ 31 および 127 の範囲の文字のみを削除し、調整された正規表現を使用します:

$string = preg_replace('/[x00-x1Fx7F]/', '', $string);

UTF-8

UTF-8 でエンコードされた文字列の場合は、正規表現に /u 修飾子を組み込むことをお勧めします。

$string = preg_replace('/[x00-x1Fx7F]/u', '', $string);

これにより、xA0 を文字クラス。

補遺: str_replace代替

preg_replace は効率的ですが、特に反復操作の場合は、str_replace を代替手段として検討してください。

// 印刷不可能な文字の配列を作成します
$badchars = array(

chr(0), chr(1), chr(2), ..., chr(31),
chr(127)
ログイン後にコピー

);

// str_replace を使用して不要な文字を置換します
$str2 = str_replace($badchars, '', $str);

独自のデータを使用して両方のアプローチのパフォーマンスをベンチマークし、特定の目的に最適なソリューションを決定することが重要です。場合。

以上がPHP の文字列から印刷不可能な文字を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート