ホームページ >バックエンド開発 >PHPチュートリアル >必須文字を削除せずに、PHP 文字列から制御文字を選択的に削除するにはどうすればよいですか?
PHP 文字列からの文字の過剰な削除の防止
PHP では、文字列から制御文字を削除するには、有効な文字が削除されないよう慎重に検討する必要があります。指定された正規表現は制御文字を正常に削除しますが、他の重要な文字も意図せず削除してしまいます。このため、プログラマは文字列の整合性を損なうことなく制御文字を選択的に削除するにはどうすればよいでしょうか?
この問題に対処するには、より正確な正規表現を使用できます。
<code class="php">preg_replace('/[\x00-\x1F\x7F]/', '', $input);</code>
This式は、必要に応じて改行と復帰 (r と n で示されることが多い) を保持しながら、復帰を含む最初の 32 文字と x7F のみを対象とします。
<code class="php">preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);</code>
または、[:cntrl] を利用します。 :] 文字クラスは式を簡略化します:
<code class="php">preg_replace('/[[:cntrl:]]/', '', $input);</code>
注: Ereg_replace は PHP では非推奨になっているため、preg_replace に置き換える必要があります。
以上が必須文字を削除せずに、PHP 文字列から制御文字を選択的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。