PHP中英数字混排字符串的截取
因为php是外国开发的,在中英文混合体时截取会经常出现乱码,下面是一个解决产生乱码的代码,如下:
- 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);
- }