关于中英数字混排的字符串分割问题

jerry JQuery 2015年08月20日 收藏

要用到短信平台的缘故,短信每条又有字数的限制,而短信平台的服务端又不会自己分析。 短信平台的后台会自己分割,但api却有没这个功能。在网上找了一点时间,发现都不怎样。 后来就自己想了个办法,算是原创吧。 只是用截取加替换的功能。

要用到短信平台的缘故,短信每条又有字数的限制,而短信平台的服务端又不会自己分析。 短信平台的后台会自己分割,但api却有没这个功能。

在网上找了一点时间,发现都不怎样。 后来就自己想了个办法,算是原创吧。 只是用截取加替换的功能。

function smssubstr($string, $length) { 
if(strlen($string) <= $length) { 
return $string; 
} 
$strcut = ''; 
for($i = 0; $i < $length; $i++) { 
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; 
} 
return $strcut; 
} 
for($i=1; $i<=$smsnum; $i++){ 
${'smscontent'.$i} = smssubstr($message,$smsper); 
$message = str_replace(${'smscontent'.$i},"",$message); 
}