删除具有爆炸功能的最后一行

Ume*_*era 1 php string explode

我将此文本存储在变量中:

分享到:mindfuq:2011年6月12日,星期日由John Sandford Buried Prey Buried Prey埋葬的猎物,这个最新的John Sandford戏剧以他最喜欢的主角,警察"猎人"的坏人Lucas Davenport为特色,他们重新审视了一个冷酷的案例.他的过去.他在职业生涯早期工作的案件的受害者是发现
与朋友分享:| | 艺术 - 通过Feedzilla的文学故事,RSS源和小部件.

我想删除此文本的最后一行.我怎么能这样做explodestr_replace不适合我.

dec*_*eze 9

$string = substr($string, 0, strrpos($string, "\n"));
Run Code Online (Sandbox Code Playgroud)

如果你绝对想要使用explode:

$string = join("\n", array_slice(explode("\n", $string), 0, -1));
Run Code Online (Sandbox Code Playgroud)

两种方法都假设"\n"在最后一行之后没有尾随,请参阅@ binaryLV的注释.

  • 我会在`strpos()`调用中用`rtrim($ string)`替换`$ string`.这样,如果有任何尾随的`\n`则无关紧要.但是`\ r \n`可能存在一些问题,所以在调用`substr()`之前添加`$ string = str_replace("\ r \n","\n",$ string)`可能是值得的. (4认同)