我理解为什么mb_
函数很有用。但我不确定是否有任何理由继续使用旧的普通字符串函数。作为编程老师,我想知道我是否应该跳过那些支持多字节版本的人。
相关问题:
答案 0 :(得分:2)
并非所有字符串操作都重新实现为mb_函数,例如,没有mb_等同于str_replace
。原因是它并不是必需的,因为str_replace
在任何编码的字符串上都能正常工作,如果你注意参数都是一致的编码。
所以,你不能简单地完全忽略所有“旧的普通字符串函数”。如果您正在执行需要编码和字符感知的操作,则需要使用mb_函数。出于其他目的,您不一定。
如果您明确尝试使用字节而不是字符,那么“旧的普通字符串函数”也很有用。例如,您可以使用substr
来测试是否存在BOM:
if (substr($str, 0, 3) == "\xEF\xBB\xBF")