PHP多字节替代UTF8


PHP multi-byte alternatives UTF8

我一直在为字符串操作函数寻找UTF8安全的替代方案。我发现了许多不同的意见和建议。我想问一下以下函数是否会在UTF-8中造成问题,如果会,我应该使用什么。我知道PHP手册中的前缀为mb_的函数列表,但并不是我使用的所有函数。

功能有:内爆、爆炸、str_replace、preg_match、preg_replace

感谢

explode只是查找相同的字节序列,并在该点分离字符串。由于UTF-8可以安全地与ASCII向后兼容,因此不必担心,它也可以正常工作。implode只是将字符串组装在一起,由于UTF-8的特性,它也可以很好地工作。str_replace的工作原理也是一样的。只要使用/u修饰符,preg_函数就可以正常工作。

如果您需要安全地使用UTF8字符进行操作,您可以这样做:

mb_internal_encoding('UTF-8');
preg_replace( '`...`u', '...', $string ) // with the u (unicode) modifier