如何获取一行的全部内容?我有一个怀疑substr()
不是答案。
Authors: Mr. Foo, Mr. Bar
Date: Jan 1, 1970
etc...
在我的$file_text
字符串中,我有类似于上面的内容。我正在寻找这样的东西:
$author_line = substr($file_text, 0, EOL);
如果有帮助,获取文件内容file()
会自动为您分割成几行。
抓住每一行:
$eachLine = explode( PHP_EOL, $file_text );
然后你的正常子字符串将抓住一切。如果它像您的示例一样全部用冒号分隔,那么您可以展开以提取字符串中所有数据的 key => value 数组
// 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]);
}
这将为您提供一个 key => value 数组中的所有数据$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 );