我试图从数据库文本条目中检索第一句和最后一句。高级的第一句和最后一句功能
我在这个例子中,做工精细代码:
$text = "He was doing ok so far, but this one had stumped him. He was a bit lost..."
功能:
function first_sentence($content) {
$pos = strpos($content, '.');
if($pos === false) {
return $content;
}
else {
return substr($content, 0, $pos+1);
}
} // end function
// Get the last sentence
function last_sentence($content) {
$content = array_pop(array_filter(explode('.', $content), 'trim'));
return $content;
} // end function
最后一句功能考虑任何尾随...的在的结束句子,但都不能应对以下内容:
$text = "Dr. Know-all was a coding master, he knew everything and was reputed the world over. But the Dr. was in trouble..."
结果: Fi第一句:Dr. 最后一句:遇到麻烦
我需要修改函数来考虑'Dr.'和其他这样的缩写,如果这是可能的,所以最后的文本变量会出现为:
第一句:Dr. Know-all是一个编码大师,他知道一切,并被全世界誉为 最后一句:但是博士遇到麻烦
可以这样做吗?任何帮助非常感谢!
当一个句子以'...'结尾时,你会怎么做? –
好点! ...或者确实是'!'。我还没有那么远:) 现在它会返回“第一句话是个问题吗?是的。”我现在可以接受这一点,因为我认为越多越好,但是我可能不得不稍后再说,除非有人想把它放在这里!感谢那。 –
基本上,如果你想接受任意的英文文本,恐怕你将不得不处理一长串特殊情况。对于程序员来说,我会像[语言学家](http://linguistics.stackexchange.com/)一样成为一个问题。 –