0

テキストのチャンクから最後の文を取得する方法を誰か教えてください。テキストは、少なくとも 1 つのセンテンス、またはかなりの数の段落である可能性があります。また、かなり厄介なことに、「...」で終わる可能性があります。

これが私が何とかまとめたものですが、最後に複数の完全な停止を与えると、あまり良くありません.

function last_sentence($content) {
$pos = strrpos($content, '.');
$pos_two = strrpos($content, '.', $pos - strlen($content) - 1); 
if($pos_two === false) {  
 return $content;  
 }  
 else {  
 return substr($content, $pos_two+1);  
 }
} // end function

だから本質的に

$my_text="This is the first sentence. The second is here. And the third trails off in a frustrating fashion......"

何か案は?

4

1 に答える 1

1
$my_text = array_pop(array_filter(explode('.', $my_text), 'trim'));

文字列を配列に変換し、空の値を削除してから、配列の最後の項目を返します。

于 2013-10-09T15:49:21.960 に答える