我一直在寻找UTF8安全的替代字符串操作函数。我发现了很多不同的意见和建议。我想问问下面的函数是否会导致UTF-8出现问题,如果有,我应该用什么来代替。我知道PHP手册中mb_前缀函数的列表,但并不是我正在使用的所有函数。PHP多字节替代UTF8
功能有:内爆,爆炸,str_replace函数,的preg_match,preg_replace函数
谢谢
我一直在寻找UTF8安全的替代字符串操作函数。我发现了很多不同的意见和建议。我想问问下面的函数是否会导致UTF-8出现问题,如果有,我应该用什么来代替。我知道PHP手册中mb_前缀函数的列表,但并不是我正在使用的所有函数。PHP多字节替代UTF8
功能有:内爆,爆炸,str_replace函数,的preg_match,preg_replace函数
谢谢
explode
只是寻找一个相同的字节序列,并在该点分开字符串。由于UTF-8安全地向后兼容ASCII,因此不用担心,它可以正常工作。 implode
只是将字符串组合在一起,由于UTF-8的属性,它也可以正常工作。 str_replace
的工作原因相同。只要您使用/u
modifier,preg_
函数就可以正常工作。
'preg_'系列函数可以与unicode一起工作,但您需要在参数中指定您在字符串中使用unicode。 –
@AleksG感谢您的回复。你知道爆炸,爆炸和str_replace是什么吗? – sczdavos
这些都是UTF-8安全的,只要所有内容都是有效的UTF-8。没有有效的UTF-8字节序列是某些其他UTF-8字节序列的子字节字符串。 – Esailija