行の内容全体を取得するにはどうすればよいですか?私は疑いを持っていsubstr()
ますが答えではありません。
Authors: Mr. Foo, Mr. Bar
Date: Jan 1, 1970
etc...
私の$file_text
文字列には、上記のようなものがあります。私はこのようなものを探しています:
$author_line = substr($file_text, 0, EOL);
でファイルの内容を取得するfile()
と、役立つ場合は自動的に行に分割されます。
それ以外の場合は、試してくださいstrstr($file_text,PHP_EOL,true)
これで各行をつかみます:
$eachLine = explode( PHP_EOL, $file_text );
次に、通常のサブストリングがすべてを取得します。例のようにすべてコロンで区切られている場合は、爆発して文字列内のすべてのデータのキー=>値の配列を抽出できます。
// Grab each Line
$eachLine = explode( PHP_EOL, $file_text );
$data= array();
foreach($eachLine as $line) {
$line = explode($line, ':');
$data[trim($line[0])] = trim($line[1]);
}
これにより、内のすべてのデータのキー=>値の配列が得られます$data
。
試す :
$lines = explode( PHP_EOL, $line_text );
次に、各行をループします。
foreach( $lines as $line )
{
//do something
}
最初の行を取得します(行末区切り文字を選択したものに置き換えます):
$author_line = strtok($file_text, "\n");
別:
list($author_line) = explode("\n", $file_text, 1);
$author_line = substr($file_text, 0, strpos("\n"));
これにより、行末を除く最初の行のすべてが取得されます。Windowsでは\r\ n、Unixでは\nを考慮する必要があります。
より適切にコーディングされたもの:
$author_line = substr($file_text, 0, strpos(PHP_EOL));
$author_line = explode("\n", $file_text );