PHP截取中英文混合字符串
<?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截取中英文混合字符串相关推荐
- php截取英语,php 截取中英文混合字符串的方法
php 截取中应为字符串,就不必再用substr或者mb_substr //截取想这样的字符串 a李三 利用ASCII /** * * 中英混合的字符串截取 * @param unknown_type ...
- js通过字节长度截取中英文混合字符串
/*** 截取字符串 中英文混合* @param str 待处理字符串* @param len 截取字节长度 中文2字节 英文1字节*/ function subString1(str, len){v ...
- oracle 截取中英文混合_C语言截取中英文混合字符串
因为涉及到中文字符和Ascii字符混合,写的时候稍费了点脑筋.... 贴上已成功实现的代码供大家学习参考,如果有哪些可以改进的地方欢迎留言指正 ============================ ...
- php判断字符串里有英文,PHP针对中英文混合字符串长度判断及截取方法示例
本文实例讲述了PHP针对中英文混合字符串长度判断及截取方法.分享给大家供大家参考,具体如下: /** * * 中英混合字符串长度判断 * @param unknown_type $str * @par ...
- ASP如何计算中英文混合字符串长度和截取字符串
用ASP做网站的时候经常会碰到要截取字符串的情况.ASP中的Len函数不管是中文字符,还是英文字符,统统按一个单位来计算,由于一个中文字符的宽度是一个英文字符宽度的两倍,在中英文混合的情况下字符串实际 ...
- C#实现 获取指定字节长度 中英文混合字符串 的方法
平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错.尤其是插入中英文混合字符串时,SQL Server中一般中文要占 ...
- 中英文混合字符串长度的获取
在项目中要处理中英文混合字符串的长度,中文按2个字符算,英文按1个字符算.以下是我处理的方法,不知道有没有更好的方法. private int GetGBLength(string strData) ...
- Javascript中得到中英文混合字符串的长度
有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度. 用的是正则表达式. var str = "坦克是tank的音译";var len = ...
- 计算中英文混合字符串长度
- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.//第一种方法NS ...
最新文章
- 智能连接:5G与人工智能、物联网等技术的超级融合
- java 定義json并賦值_java是值传递还是引用传递?
- 每日记载内容总结44
- Python 之 使用 PIL 库做图像处理
- Java基础学习总结(42)——Log4j 2使用教程
- StartActivityForResult
- STL15-map/multimap容器
- Navicat for MySQL 使用SSH方式链接远程数据库
- columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 版本mysql8.0
- 项目计划书——书写模板
- 2017年5月—信息安全工程师—上午综合知识(11-15)
- 蚂蚁金服AntV开源地理可视化引擎 L7 2.0——聊聊AntV背后那些事
- 影子口令(影子密码)
- Windows运行程序时桌面窗口卡死
- 河南山东商会刘继臣 全国工商联·万祥军:商协社团儒商大会
- 世界自然基金会推出区块链工具以跟踪食品供应链
- 基于MSP430F5529单片机的ADS1115
- 深度学习从入门到精通——图像分割之DeepLab系列算法
- C++RTTI运算符
- 如果房子5折甩卖,你会买吗?