在PHP中获取字符串的第一行

kin*_*juf 38 php string newline strstr

在PHP 5.3中有一个很好的功能,似乎做我想要的:

strstr(input,"\n",true)
Run Code Online (Sandbox Code Playgroud)

不幸的是,服务器运行PHP 5.2.17并且可选的第三个参数strstr不可用.有没有办法在以前的版本中实现这一点?

You*_*nse 100

干得好

$str = strtok($input, "\n");
Run Code Online (Sandbox Code Playgroud)

strtok() 文档

  • 编写PHP十多年了,从未见过这个功能:D + 1 (13认同)
  • 这包括新行char.所以`$ str = rtrim(strtok($ input,"\n"));`会让它变得完美. (3认同)
  • 将首先返回**非空**行 (2认同)

Con*_*ney 10

现在已经晚了,但你可以使用爆炸.

<?php
$lines=explode("\n", $string);
echo $lines['0'];
?>
Run Code Online (Sandbox Code Playgroud)

  • 为什么在这个例子中使用字符串键?应该是`$ lines [0]`? (6认同)
  • 注意:如果您只需要第一行,那么效率很低。例如,如果“$string”是一百兆字节,而第一行只有一些字节,则此解决方案会浪费一百兆字节的内存,并且当您达到内存限制时,您的脚本甚至可能会终止。 (2认同)

Mar*_*c B 6

$first_line = substr($fulltext, 0, strpos($fulltext, "\n"));
Run Code Online (Sandbox Code Playgroud)

或其他什么东西可以解决问题.丑陋,但可行.