我花了数小时试图为此找到解决方案,但我没有。
我有一个文本字段,我正在使用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
返回“,你好,世界”?
答案 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>";