我想删除一个包含大量文本的长php字符串,仅输出完整的前3个句子。
我环顾了SO帖子,发现了一些关于分隔符的答案。但是,做
$pieces = preg_split('/[.]/', $mystring)
会将所有句子存储在$pieces
变量中,并占用不必要的空间,因为我只想输出前3个。有没有更好的方法?
输入:包含超过5000个字符的句子的字符串。
输出:前3个句子。
答案 0 :(得分:0)
为避免存储每个部分,您可以按期使用strtok
到tokenize the string,如下所示:
<?php
$string = "This is an example. string. string. etc. etc.";
$tok = strtok($string, ".");
$i = 0;
while (($tok !== false) && ($i < 3)) {
echo "Sentence=$tok<br />";
$tok = strtok(".");
$i++;
}
?>
输出:
Sentence=This is an example
Sentence= string
Sentence= string