我将有一个$ content变量,文本数量不限(可以是任意数量的句子和段落)
英语中的每个句子都以点,ellypses,问号或感叹号结束,所以这些可以是:
$dot = ".";
$ellypses = "...";
$question = "?";
$exclamation = "!";
我想要实现的是将$ content仅限于前三个句子,并将其显示在博客上。这意味着需要识别这些(任何实例)的任何组合,"计为三个",然后存储在另一个变量中,可以称为$ shortened_text(它不必打印)在一个页面上,我将使用这个与WordPress的CyberSeo插件)。
你能建议如何编写这样的代码(如果不可能,我应该使用什么PHP函数)?
答案 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()
轻松完成此操作。