удалить последнюю строку с функцией разнесения - PullRequest
1 голос
/ 13 июня 2011

Этот текст хранится в переменной:

поделился: mindfuq в: воскресенье, 12 июня 2011 г. «Погребенная добыча» Джона Сэндфорда «Погребенная добыча» В «Погребенной добыче» в этой последней драме Джона Сэндфорда изображен его любимый главный герой, полицейский «охотник» на плохих парней, Лукас Давенпорт, который посещает случай из его прошлого. Жертвы дела, над которым он работал в начале своей карьеры, обнаруживают
Поделиться с друзьями: | | Искусство - Литературные истории, RSS-каналы и виджеты через Feedzilla.

Я хочу удалить последнюю строку этого текста. Как я могу сделать это с explode? str_replace не работает для меня.

Ответы [ 2 ]

9 голосов
/ 13 июня 2011
$string = substr($string, 0, strrpos($string, "\n"));

Если вы абсолютно хотите использовать explode:

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

Оба метода предполагают, что после последней строки нет трейлинга "\n", см. Комментарий @ binaryLV.

0 голосов
/ 13 июня 2011

Если содержимое не содержит других разрывов строк, используйте 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
...