日期:2014-05-17  浏览次数:20612 次

php中文字符串截取
最近有人问我中文字符串截取的问题,我一直用mb_substr,也没发现那里不好用,可是有人和我说会出现乱码,我来回测试也没发现那里出现乱码。看到网上n多关于中文字符串截取的函数,真的有必要写的那么复杂吗??有谁知道告诉偶吧,嘿嘿,非常感谢

------解决方案--------------------
你测试的时候是知道编码是什么的,但是你传递过来的str有时候并不清楚是什么编码,而一旦你不能在mb_substr函数内正确的指定这个编码的时候就会出现截取乱码的情况,这是很普遍也是我曾经碰过的事情.这就证实了别人出现的情况是的确存在的,但是为什么在测试环境里却又没发现.
------解决方案--------------------
mb_substr 当然是可以的

但是 mb_substr 属于扩展函数,如果你的客户租用的服务器恰恰没有加载 mb_string 的话,那不很麻烦吗?

mb_substr 需要显式的给出编码类型时才能无误的工作,也显得累赘

网上n多关于中文字符串截取的函数 自然有作者的考虑
你可以不当回事,但不能也让人家不当回事