mysql — PHP Получить последние n предложений из строки

Допустим, у меня есть строка ниже

$string = 'PHP Coding.
Hello World!
Merry Christmas!
Happy New Year!
Merry Super Early Next Christmas?
I want Pizza, and Cake
Hehehe
Hohohoho';

Как получить последние n предложений из строки, например, последние 3 предложения, которые должны дать следующий вывод:

I want Pizza, and Cake
Hehehe
Hohohoho

Изменить: я использую данные из SQL

-2

Решение

Это должно работать для вас:

<?php

$string = 'PHP Coding.
Hello World!
Merry Christmas!
Happy New Year!
Merry Super Early Next Christmas?
I want Pizza, and Cake
Hehehe
Hohohoho';

list($sentence[], $sentence[], $sentence[]) = array_slice(explode(PHP_EOL, $string), -3, 3);

print_r($sentence);

?>

Выход:

Array ( [2] => Hohohoho [1] => Hehehe [0] => I want Pizza, and Cake )

РЕДАКТИРОВАТЬ :

Здесь вы можете определить, сколько предложений вы хотите от спины:

<?php

$string = 'PHP Coding.
Hello World!
Merry Christmas!
Happy New Year!
Merry Super Early Next Christmas?
I want Pizza, and Cake
Hehehe
Hohohoho';

$n = 3;

$sentence = array_slice(explode(PHP_EOL, $string), -($n), $n);
$sentence = array_slice(explode(PHP_EOL, nl2br($string)), -($n), $n); // Use this for echoing out in HTML
print_r($sentence);

?>

Выход:

Array ( [0] => I want Pizza, and Cake [1] => Hehehe [2] => Hohohoho )
3

Другие решения

$string = 'PHP Coding.
Hello World!
Merry Christmas!
Happy New Year!
Merry Super Early Next Christmas?
I want Pizza, and Cake
Hehehe
Hohohoho';function getLast($string, $n){
$splits = explode(PHP_EOL, $string);
return array_slice($splits, -$n, count($splits));
}

$result = getLast($string, 2);
var_dump($result);
0

По вопросам рекламы [email protected]