PHP显示最多100个字符的句子

时间:2013-08-10 19:02:07

标签: php freebase

我的PHP脚本调用Freebase API并输出一个段落,然后我会执行一些正则表达式和其他解析魔法并将数据返回到变量$paragraph。该段由多个句子组成。我想要做的是返回段落的较短版本。

我想显示第一句话。如果它少于100个字符,那么我想显示下一个句子,直到它至少100个字符。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您不需要正则表达式。您可以使用偏移量为99的strpos()来查找位置100或之后的第一个句点 - 并substr()以获取该长度。

$shortPara = substr($paragraph, 0, strpos($paragraph, '.', 99) + 1);

如果原始段落少于100个字符,或者没有以句点结尾,您可能需要添加一些额外的检查:

// find first period at character 100 or greater
$breakAt = strpos($paragraph, '.', 99);
if ($breakAt === false) {
    // no period at or after character 100 - use the whole paragraph
    $shortPara = $paragraph;
} else {
    // take up to and including the period that we found
    $shortPara = substr($paragraph, 0,  $breakAt + 1);
}