218

複数のスペースを1つのスペースに置き換えようとしています。を使用するereg_replaceと、非推奨になるというエラーが発生します。

ereg_replace("[ \t\n\r]+", " ", $string);

それと同じ代替品はありますか?" "複数の空白と複数の空白を単一の空白に置き換える必要がありnbspます。

4

3 に答える 3

447

使用preg_replace()および使用の代わり[ \t\n\r]\s

$output = preg_replace('!\s+!', ' ', $input);

正規表現の基本構文リファレンスから:

\ d、\ w、\ s

数字、単語文字(文字、数字、およびアンダースコア)、および空白(スペース、タブ、および改行)に一致する短縮文字クラス。文字クラスの内外で使用できます。

于 2010-03-03T03:25:18.267 に答える
77
$output = preg_replace('/\s+/', ' ',$input);

\sの省略形です[ \t\n\r]。複数のスペースは単一のスペースに置き換えられます。

于 2013-09-19T06:24:25.747 に答える
50
preg_replace("/[[:blank:]]+/"," ",$input)
于 2010-03-03T03:29:05.717 に答える