如何将文本限制为3个句子?

时间:2014-12-08 15:21:11

标签: php

我将有一个$ content变量,文本数量不限(可以是任意数量的句子和段落)

英语中的每个句子都以点,ellypses,问号或感叹号结束,所以这些可以是:

$dot = ".";
$ellypses = "...";
$question = "?";
$exclamation = "!";

我想要实现的是将$ content仅限于前三个句子,并将其显示在博客上。这意味着需要识别这些(任何实例)的任何组合,"计为三个",然后存储在另一个变量中,可以称为$ shortened_text(它不必打印)在一个页面上,我将使用这个与WordPress的Cyber​​Seo插件)。

你能建议如何编写这样的代码(如果不可能,我应该使用什么PHP函数)?

1 个答案:

答案 0 :(得分:1)

进行子序列搜索(strstr() in PHP allows for this)。尝试实现这个伪代码:

set $n equal to 3
if $content content contains $n occurrences of ("?" or "!" or "..."):
     set $someFlag = True  // this is just whatever flag  you set to indicate that three sentences have been inputted
else if $content contains $n occurrences of "." and they are not "...":
     set $someFlag = True

您可以将这两个分支语句连接到由if连接的单个OR

编辑:您可以使用substr_count()轻松完成此操作。