在strpos停下的地方继续发送消息

时间:2018-06-20 19:48:43

标签: php

我花了数小时试图为此找到解决方案,但我没有。

我有一个文本字段,我正在使用strpos在3000个字符后的第一个空格处拆分:

 $pos=strpos($message2, ' ', 3000);
 $pos2=substr($message2,0,$pos );
 echo $pos2;

然后我正在使用substr来继续发送3000个字符以下的消息:

 $pos4=substr($message2,3000);
 echo $pos4;

我遇到的问题是,该消息不会从上一场比赛结束的地方继续。

例如,如果我的信息是“这就是结局,你好世界” $pos2结束于“而这结局” $pos4继续到“ nd,你好世界”。

我如何做到$pos2返回“这就是结局”而$pos4返回“,你好,世界”?

1 个答案:

答案 0 :(得分:0)

这是一些示例代码。

$max_len=10;
$message2="12345 789 abcde ghij lmnop";

//if you want to break at the first whole word before $max_len characters
$pos1=strrpos(substr($message2, 0, $max_len), ' ');
echo substr($message2,0,$pos1) ."<br>";
echo substr($message2,$pos1+1)  ."<br>";

//if you want to break at the first whole word after $max_len characters
$pos2=strpos($message2,' ',$max_len);
echo substr($message2,0,$pos2) ."<br>";
echo substr($message2,$pos2+1)  ."<br>";