文字列から新しい行を削除し、1つの空白に置き換えます 質問する

文字列から新しい行を削除し、1つの空白に置き換えます 質問する
$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 ";

ベストアンサー1

二重の改行は二重のスペースの原因となるので注意が必要です。次の非常に効率的な正規表現を使用してください。

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

複数のスペースと改行は 1 つのスペースに置き換えられます。

編集:他の人が指摘しているように、このソリューションでは単語間の単一の改行を一致させるのに問題があります。これは例には存在しませんが、その状況が発生する原因は簡単にわかります。別の方法としては、次の操作を実行します。

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

おすすめ記事