php吐出x字符串后的字符串,但仅限于句点

时间:2017-06-19 15:48:33

标签: php string split

我有一个5000字符串的字符串,我希望将它分成200个字符的小块,split_str()函数就是这样做但我希望字符串在字符串的最后一个句点切断,而不是切一个字或一句话。

这是一个例子:

Samsung Z4. smartpho

OutPut是:

{{1}}

但我需要聪明才能给我'三星Z4'。

2 个答案:

答案 0 :(得分:1)

$last_space = strpos($str, '. ',4000);
$next_part = substr($str, $last_space);
//var_dump($next_part);
$my_part = substr($str, 0 ,$last_space);
//var_dump($my_part);
$array[] =  $my_part;
$str = $next_part;
}
while($last_space);
array_push($array,$str);

答案 1 :(得分:0)

使用带有strpos的循环。确保你找到的句号之后是两个空格,然后是一个大写字母(假设你的规则是"字符串中的最后一个句号),将其添加到你的句子数组中并继续。

这是一个超级简单的实现,可以完成您在评论中所要求的内容:

<?php
$str = "Samsung Z4. smartphone com Tizen. pode estar perto de ser lançado em novo país";
$sentences = array();
$sentences = explode(".", $str);
echo $sentences[0];