改行を削除して 1 つのスペースに置き換える
文字列からすべての改行を削除し、1 つの空のスペースに置き換えるには、次のことを考慮します。
を理解する問題
改行を含む文字列があり、改行の位置に 1 つのスペースを挿入して改行を削除したいと考えています。たとえば、文字列:
$string = " put returns between paragraphs for linebreak add 2 spaces at end ";
は次のようになります:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
Solution
これを実現するには、PHP の preg_replace( ) 関数を正規表現とともに使用して、改行を照合して置換します。次の正規表現は、改行 (n)、キャリッジ リターン (r)、二重改行 ("rn") を含むすべての改行を識別します。
/\r\n|\r|\n/
ただし、このアプローチは、複数の連続する改行を複数のスペースに置き換えます。これを回避するには、複数のスペースとも一致し、それらを単一のスペースに置き換える、より効率的な正規表現を使用します。
$string = trim(preg_replace('/\s\s+/', ' ', $string));
この変更された正規表現では、単一と複数の改行、および複数のスペースの両方が使用されます。
追加の考慮事項
提供されるソリューションでは効果的に削除されますが、改行を挿入し、その位置に 1 つのスペースを導入する場合、複数の連続する単語が関係する場合、状況がより複雑になる可能性があることに注意してください。このようなシナリオでは、二重スペースが発生しない代替アプローチは次のとおりです。
$string = trim(preg_replace('/\s+/', ' ', $string));
以上がPHP で文字列内の改行を単一のスペースに置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。