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

要用到短信平台的缘故,短信每条又有字数的限制,而短信平台的服务端又不会自己分析。 短信平台的后台会自己分割,但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);  
}
posted @ 2013-10-18 14:36  幻星宇  阅读(261)  评论(0编辑  收藏  举报