【发布时间】:2012-01-23 19:09:00
【问题描述】:
explode() 函数在mb_split() 中有一个相关的多字节安全函数。
我没有看到 implode() 的相关函数。这是否意味着 implode 对于多字节字符串已经是安全的了?
【问题讨论】:
-
我很难理解为什么首先需要一个多字节安全的
split()- 默认情况下拆分字符串是多字节安全的,不是吗?但这是一个不同的问题。 -
PHP 将所有字符串 (AFAIK) 存储为原始二进制字节序列,因此理论上应该可以将
explode()与多字节字符串一起使用,只要您传递正确的二进制表示拆分令牌。因此,这同样适用于implode()- 作为连接分隔符传递的二进制序列将按字面意思使用,因此只要您的分隔符正确存储,应该没有问题。 -
@DaveRandom:一个多字节字符可能看起来像两个单字节字符吗?如果这些单字节字符中的一个恰好是分隔符,那么您是否可能会无意中在多字节字符上进行拆分?
-
为什么你的字符串会包含多字节和单字节字符?这不会是一个损坏的字符串吗?
-
哦,我明白你的意思了,两个字符的边界重叠以创建序列......好吧,在这种情况下是的,我想它可以 - 但这已经进入了我的深度没有资格发表评论。