-2

次のように、複数行の文字列からいくつかの改行とスペースを削除しようとしています。

    Toronto (YTZ)
    to
    Montreal (YUL)

私はやってみました:

$matched = preg_replace('/[\n]/', '', $string);
var_dump($matched);

しかし、返されるのは次のとおりです。

    Montreal (YUL)

正規表現のさまざまな組み合わせを試しましたが、指定したものを見つけて置き換え、一致した式の後に何かを表示するように見えます。

簡単なことだと思いますが、理解できないようです。

前もって感謝します!

4

3 に答える 3

1

\ nは、PHPの二重引用符の間にある場合にのみ「行に移動」を表します "\n"...正規表現"/[\n]/"'/[\n]/'

とにかく、そのために正規表現を使用しないでくださいstr_replace("\n",'',$string)。代わりに。それは速いです。

于 2012-09-13T16:32:09.513 に答える
0

Kashがすでに気付いているように、OSが異なれば改行の表現も異なる場合があります。ここでPHP_EOL定数が使用されます。この定数は、OSによって定義されます。

$string = str_replace(PHP_EOL, '', $string);

別のマシンで文字列を作成できる場合は、「\r」と「\n」を別々に置き換えることをお勧めします

$string = str_replace(array("\r", "\n"), '', $string);
于 2012-09-13T16:46:29.487 に答える
0
$str = preg_replace('/\n+(?=.)/', " ",
       preg_replace('/^\s*/m', "",
       $str));

ここでこのコードを確認してください。

于 2012-09-13T16:57:53.007 に答える