6

preg_match()1 つの一致を与えます。
preg_match_all()すべての一致を返します。
preg_split()すべての分割を返します。

最初の試合でのみ分割するにはどうすればよいですか?

例:

preg_split("~\n~", $string);

これは私が欲しいものです:

array(
  0 => 'first piece',
  1 => 'the rest of the string
        without any further splits'
)
4

4 に答える 4

15

2配列の 2 つの部分に対して$limit を設定するだけです。言及してくれた@BenJamesに感謝します:

preg_split("~\n~", $string, 2);

テストしましたが、正常に動作します。

limit 引数:

指定した場合、制限までの部分文字列のみが返され、残りの文字列は最後の部分文字列に配置されます。-1、0、または null の制限は「制限なし」を意味し、PHP 全体で標準であるように、null を使用して flags パラメータにスキップできます。

于 2009-11-03T16:03:27.007 に答える
6

limit フラグを追加するだけ

preg_split("~\n~", $string, 2);

説明書より

指定した場合、制限までの部分文字列のみが返され、残りの文字列は最後の部分文字列に配置されます。

于 2009-11-03T16:05:23.360 に答える
-1

これをテストするサーバーがありません。試す:

preg_split("~\n~",$string,1);

1 は制限を表します。

制限: 指定すると、制限までの部分文字列のみが返され、残りの文字列は最後の部分文字列に配置されます。-1、0、または null の制限は「制限なし」を意味し、PHP 全体で標準であるように、null を使用して flags パラメータにスキップできます。

于 2009-11-03T16:09:29.420 に答える