1. ホーム
  2. php

[解決済み】文字列から改行を削除し、空白の1行に置き換える

2022-04-16 08:07:41

質問

$string = "
put returns between paragraphs

for linebreak add 2 spaces at end

";

文字列から新しい行をすべて削除したい。

私はこの正規表現を持ち、それはすべてのそれらをキャッチすることができます。問題は、私はそれを使用する必要がありますどの関数を知っていないことです。

/\r\n|\r|\n/

$string になるはずです。

$string = "put returns between paragraphs for linebreak add 2 spaces at end ";

解決方法は?

改行が二重になり、スペースが二重になることに注意しなければなりません。この実に効率的な正規表現を使ってください。

$string = trim(preg_replace('/\s\s+/', ' ', $string));

複数のスペースと改行がある場合は、1つのスペースに置き換えられます。

編集する 他の方が指摘されているように、このソリューションでは単語と単語の間にある単一の改行がマッチングされないという問題があります。この例にはありませんが、そのような状況が起こりうることは容易に想像できます。代替案として、次のようにすることができます。

$string = trim(preg_replace('/\s+/', ' ', $string));