欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

substr - PHP - 中英文混排字符串截取函数

程序员文章站 2022-06-17 18:03:39
...
RT 求一个中英文混排字符串截取的函数,substr(), mb_substr(), iconv_substr()貌似都不太给力的说,网上放出来的自定义函数也试过一些,没有好用的.= =!
其实我的主要目的是想截出来的几行字的长度是一模一样的,所以求教一下~

补充:
下面是我测试用的代码,貌似第一个和第二个答案得出的都有乱码的问题的说~
PS:回答问题的可以先用我的那段测试小文本测试一下,通过了再提交答案的说~

';
}

回复内容:

RT 求一个中英文混排字符串截取的函数,substr(), mb_substr(), iconv_substr()貌似都不太给力的说,网上放出来的自定义函数也试过一些,没有好用的.= =!
其实我的主要目的是想截出来的几行字的长度是一模一样的,所以求教一下~

补充:
下面是我测试用的代码,貌似第一个和第二个答案得出的都有乱码的问题的说~
PS:回答问题的可以先用我的那段测试小文本测试一下,通过了再提交答案的说~

';
}

我想你需要的就是mb_strimwidth这个函数,去看看它的定义吧 http://cn2.php.net/manual/en/function...

我用了一个比较恶心的方案。假设你的字符串是utf-8编码,那么需要转成gbk

$gbk_str = iconv('UTF-8', 'GBK', $raw);

然后substr去截这个$gbk_str,gbk编码的汉字是两个字节,英文是一个,所以刚好。