Php中英数字混排的字符串分割实现实例

要用到短信平台的缘故,短信每条又有字数的限制,而短信平台的服务端又不会自己分析。

短信平台的后台会自己分割,但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);
}

时间: 2024-10-27 03:21:31

Php中英数字混排的字符串分割实现实例的相关文章

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].

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; $

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

Word 2007中的纵横混排在哪

Word 2007中的纵横混排在哪 在Word2007中找了好久都没找到纵横混排这个菜单,请问是不是Word2007没有这个功能呢? 当然不是的,word2007的"开始"选项卡里"段落"组中有一个"中文版式"项,就是一个大写的A上面带左右两个箭头的图标 那里面有一个"纵横混排". 图 Word2007"纵横混排"

asp.net 电话 手机 中英 数字验证控件

asp教程.net 电话 手机 中英 数字验证控件 1 对手机号码的验证:^1[0-9]d{9}$,之前使用的是:/^0{0,1}(13[4-9]|15[7-9]|15[0-2])[0-9]{8}$/, 编辑部在使用的时提出问题:怎么189的号不能添加啊,我一看,正则表达式没有189的号,然后跑去找一个资历老一点的同事,他给我的正则是:d{11},我一看这个验证不对啊!只能保证输入的是11位数字,格式什么的就没限制了,然后自己改了下,现在还没出现什么问题 2 只输入中文或英文:[u4e00-u9

C++常用字符串分割方法实例汇总_C 语言

本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考.具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用. 一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串. 参数说明:str为要分解的字符串,delim为分隔符字符串. 返回值:从str开头开始的一个个被分割的串.当没有被分割的串时则返回NULL. 其它:strtok函数线程不安全

Word中如何清除中英文混排文档中的英文

为了提高个人专业技术水平,单位又让上交阶段性学习笔记.专业技术论文了,不过上有政策下有对策,同事们利用计算机点点鼠标从网上复制粘贴来完成此项工作.但有时一不留神发现搞下来的东西太高深,竟然是中英文混排的,太超过笔者的水平了,思前想后还是把这些英文都干掉的好. 在Word中单击"编辑/替换",在打开的"查找和替换"对话框中的"替换"选项卡下,单击"查找内容"框,输入[^1-^127],"替换为"框中什么也不用

Android中使用TextView实现图文混排的方法_Android

向TextView或EditText中添加图像比直接添加文本复杂一点点,需要用到<img>标签. <img>只有一个src属性,该属性原则上应该指向一个图像地址或可以找到某个图像资源的唯一标识.但要注意的是,系统并不会直接根据src属性所指的值自动获取和显示图像,这一切都需要我们去做.说白了,src属性指的是什么只有开发者自己知道.开发者需要告诉系统src属性到底指的是什么,然后系统才会知道怎么做. 解析src属性值需要ImageGetter对象的getDrawable方法来完成.

php strlen mb_strlen计算中英文混排字符串长度_php技巧

比较strlen和mb_strlen 当字符全是英文字符的时候,两者是一样.这里主要比较一下,中英文混排的时候,两个计算结果.(测试时编码方式是UTF8) 复制代码 代码如下: <?php $str='中文a字1符'; echo strlen($str); echo '<br />'; echo mb_strlen($str,'UTF8'); //输出结果 //14 //6 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以"中文a字1符&q