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

时间:2011-06-13 06:27:46

标签: php string explode

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

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

我想删除此文字的最后一行。如何使用explode执行此操作? str_replace对我不起作用。

2 个答案:

答案 0 :(得分:9)

$string = substr($string, 0, strrpos($string, "\n"));

如果您绝对想使用explode

$string = join("\n", array_slice(explode("\n", $string), 0, -1));

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

答案 1 :(得分:0)

如果内容中不包含其他换行符,请使用strstr()

$line = strstr(trim($text), "\n", true); // last arg true, to return before needle

如果有多个换行符,并且您希望以编程方式删除行:

$lines = explode("\n", trim($text));
unset($lines[count($lines) - 1]); // removes last line