PHP - 获取文本的前两句话?
问题描述:
我的变量 $content
包含我的文本.我想从 $content
创建一个摘录并显示第一个句子,如果句子少于 15 个字符,我想显示第二个句子.
My variable $content
contains my text. I want to create an excerpt from $content
and display the first sentence and if the sentence is shorter than 15 characters, I would like to display the second sentence.
我已经尝试从文件中删除前 50 个字符,并且它有效:
I've already tried stripping first 50 characters from the file, and it works:
<?php echo substr($content, 0, 50); ?>
但我对结果不满意(我不想删减任何文字).
But I'm not happy with results (I don't want any words to be cut).
是否有一个 PHP 函数可以获取整个单词/句子,而不仅仅是 substr?
Is there a PHP function getting the whole words/sentences, not only substr?
非常感谢!
答
我想通了,虽然很简单:
I figured it out and it was pretty simple though:
<?php
$content = "My name is Luka. I live on the second floor. I live upstairs from you. Yes I think you've seen me before. ";
$dot = ".";
$position = stripos ($content, $dot); //find first dot position
if($position) { //if there's a dot in our soruce text do
$offset = $position + 1; //prepare offset
$position2 = stripos ($content, $dot, $offset); //find second dot using offset
$first_two = substr($content, 0, $position2); //put two first sentences under $first_two
echo $first_two . '.'; //add a dot
}
else { //if there are no dots
//do nothing
}
?>