Допустим, у меня есть строка ниже
$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
Это должно работать для вас:
<?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 )
$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);