《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。


关于 LearnKu
str_replace('河南省郑州市金水区','','河南省郑州市金水区啊啊')
仔细审题呀兄弟,我也能列出 N 种替代方案,但是发出此贴主要还是想知道为什么 ltrim 会出错。@yema
多字节编码导致的,涉及中文和英文的操作函数都推荐使用
mb_前缀函数。说一下我的想法:trim的第二个参数其实是字符列表,而trim函数其实并不认unicode字符,因此它会按照固定的字节数依次读取这个中文字符串,而“啊啊”第一个“啊”的前半部分unicode编码满足了trim解析的这个列表中的数据,因此被trim掉了,而“啊”unicode编码的后半部分并不满足这个列表中的任何一个部分,因此被保留下来,从而成为了乱码。
受 @dengminfeng 启发,将
区与啊转换为字节后,得出区为0xe5 0x8c 0xba三字节组成,而啊则是由0xe5 0x95 0x8a组成,由于有共同的0xe5,所以会多除去一个字节,导致乱码。同时发现,所有中文字符的第一字节均为
0xe5或0xe6,所以 "区" 后无论跟任何中文字符,都会多除去一个字节。