<?php
/*** 截取中英文混合字符串* @param $sourcestr 需要截取的字符串* @param $start 开始位置,字符位置,* @param $cutlength 结束位置* @return 包含$start*/
function cut_str($sourcestr, $start, $cutlength)
{$returnstr = '';$i = 0;// 根据字符位置,获取字节位置if ($start != 0) {$temp_str = cut_str($sourcestr, 0, $start);if ($temp_str) {$i = strlen($temp_str); # code...}}$n = 0;$str_length = strlen($sourcestr); //字符串的字节数while (($n < $cutlength) and ($i <= $str_length)) {$temp_str = substr($sourcestr, $i, 1);$ascnum = Ord($temp_str); //得到字符串中第$i位字符的ascii码if ($ascnum >= 224) { //如果ASCII位高与224,$returnstr = $returnstr . substr($sourcestr, $i, 3); //根据UTF-8编码规范,将3个连续的字符计为单个字符$i = $i + 3; //实际Byte计为3} elseif ($ascnum >= 192) { //如果ASCII位高与192,$returnstr = $returnstr . substr($sourcestr, $i, 2); //根据UTF-8编码规范,将2个连续的字符计为单个字符$i = $i + 2; //实际Byte计为2} else { //其他情况下$returnstr = $returnstr . substr($sourcestr, $i, 1);$i = $i + 1; //实际的Byte数计1个}$n ++; //字串长度计1}return $returnstr;
}
list($sourcestr, $start, $cutlength) = ['实际的Byte数计1个', 2, 7];
echo $sourcestr.'<br>';
echo $start.'<br>';
echo cut_str($sourcestr, $start, $cutlength);

PHP截取中英文混合字符串相关推荐

  1. php截取英语,php 截取中英文混合字符串的方法

    php 截取中应为字符串,就不必再用substr或者mb_substr //截取想这样的字符串 a李三 利用ASCII /** * * 中英混合的字符串截取 * @param unknown_type ...

  2. js通过字节长度截取中英文混合字符串

    /*** 截取字符串 中英文混合* @param str 待处理字符串* @param len 截取字节长度 中文2字节 英文1字节*/ function subString1(str, len){v ...

  3. oracle 截取中英文混合_C语言截取中英文混合字符串

    因为涉及到中文字符和Ascii字符混合,写的时候稍费了点脑筋.... 贴上已成功实现的代码供大家学习参考,如果有哪些可以改进的地方欢迎留言指正 ============================ ...

  4. php判断字符串里有英文,PHP针对中英文混合字符串长度判断及截取方法示例

    本文实例讲述了PHP针对中英文混合字符串长度判断及截取方法.分享给大家供大家参考,具体如下: /** * * 中英混合字符串长度判断 * @param unknown_type $str * @par ...

  5. ASP如何计算中英文混合字符串长度和截取字符串

    用ASP做网站的时候经常会碰到要截取字符串的情况.ASP中的Len函数不管是中文字符,还是英文字符,统统按一个单位来计算,由于一个中文字符的宽度是一个英文字符宽度的两倍,在中英文混合的情况下字符串实际 ...

  6. C#实现 获取指定字节长度 中英文混合字符串 的方法

    平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错.尤其是插入中英文混合字符串时,SQL Server中一般中文要占 ...

  7. 中英文混合字符串长度的获取

    在项目中要处理中英文混合字符串的长度,中文按2个字符算,英文按1个字符算.以下是我处理的方法,不知道有没有更好的方法. private int GetGBLength(string strData) ...

  8. Javascript中得到中英文混合字符串的长度

    有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度. 用的是正则表达式. var str = "坦克是tank的音译";var len = ...

  9. 计算中英文混合字符串长度

    - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.//第一种方法NS ...

最新文章

  1. 智能连接:5G与人工智能、物联网等技术的超级融合
  2. java 定義json并賦值_java是值传递还是引用传递?
  3. 每日记载内容总结44
  4. Python 之 使用 PIL 库做图像处理
  5. Java基础学习总结(42)——Log4j 2使用教程
  6. StartActivityForResult
  7. STL15-map/multimap容器
  8. Navicat for MySQL 使用SSH方式链接远程数据库
  9. columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 版本mysql8.0
  10. 项目计划书——书写模板
  11. 2017年5月—信息安全工程师—上午综合知识(11-15)
  12. 蚂蚁金服AntV开源地理可视化引擎 L7 2.0——聊聊AntV背后那些事
  13. 影子口令(影子密码)
  14. Windows运行程序时桌面窗口卡死
  15. 河南山东商会刘继臣 全国工商联·万祥军:商协社团儒商大会
  16. 世界自然基金会推出区块链工具以跟踪食品供应链
  17. 基于MSP430F5529单片机的ADS1115
  18. 深度学习从入门到精通——图像分割之DeepLab系列算法
  19. C++RTTI运算符
  20. 如果房子5折甩卖,你会买吗?

热门文章

  1. 分析塑料卡板箱价格未来趋向
  2. ThinkPHP 2.x 任意代码执行漏洞
  3. 希望VS.NET 2005能提供48x48的图标
  4. Android 录屏功能的实现
  5. kali linux 安装搜狗输入法(解决安装后只有搜狗五笔的问题)
  6. 声艺fx16调音台怎么样_声艺(Soundcraft) FX16Ⅱ(RW5757)16路/2立体声 专业调音台
  7. 985材料专业研究生转行
  8. 中国计算机科学期刊,计算机科学杂志是核心期刊吗?
  9. 积分中D,∑,Ω是什么
  10. GoEasy在微信小程序中的应用