4

編集:

配列の分割について助けが必要

配列の例:

 array (

           [0] =>
            :some normal text
            :some long text here, and so on... sometimes 
            i'm breaking down and...
            :some normal text
            :some normal text
        )

わかりました、今使用して

preg_split( '#\n(?!s)#' ,  $text );

私は得る

[0] => Array
        (
            [0] => some normal text
            [1] => some long text here, and so on... sometimes
            [2] => some normal text
            [3] => some normal text
        )

私はこれを取得したい:

[0] => Array
        (
            [0] => some normal text
            [1] => some long text here, and so on... sometimes i'm breaking down and...
            [2] => some normal text
            [3] => some normal text
        )

行全体を取得し、改行で分割できる正規表現は何ですか!?

4

5 に答える 5

21

「改行」は明確に定義されていません。WindowsはCR+LF(\ r \ n)、Linux LF(\ n)、OSX CR(\ r)のみを使用します。

preg_ *の通常の例外には、3つすべてに一致するあまり知られていない特殊文字\Rがあります。

preg_match('/^\R$/', "\r\n"); // 1
于 2010-04-26T19:56:06.587 に答える
7

これは、文字列内にコロン文字が埋め込まれている場合でも機能する例です (ただし、行の先頭にはありません)。

$input = ":some normal text
:some long text here, and so on... sometimes
i'm breaking: down and...
:some normal text
:some normal text";

$array = preg_split('/$\R?^:/m', $input);
print_r($array);

結果:

Array
(
    [0] => some normal text
    [1] => some long text here, and so on... sometimes
           i'm breaking: down and...
    [2] => some normal text
    [3] => some normal text
)
于 2010-04-26T19:43:17.430 に答える
2

file()ファイルを配列に読み込みます。

于 2010-04-26T19:44:14.710 に答える
-2
$lines = explode("\n", $text);
于 2010-04-26T19:43:03.887 に答える