脚本宝典收集整理的这篇文章主要介绍了PHP多字节字符串函数,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在的问题是:明智地使用PHP多字节字符串函数来避免将来出现这些问题吗?我应该避免使用传统的strpos,strlen,ereg等功能吗?
注意:我不想在PHP.ini中设置mbstring.func_overload全局,因为这会在使用PEAR库时导致其他问题.我使用的是PHP4.
如果您使用UTF-8以外的多字节编码,这不会阻止字符中的单个字节像其他字符一样出现,那么使用常规字符串搜索功能进行字符串搜索绝对不安全.你可能会发现误报.这是因为PHP在strpos等函数中的字符串比较是按字节进行的,除了专门为防止出现此问题而设计的UTF-8外,多字节编码还存在以下问题:字符中的任何后续字节都由多个字节可以匹配不同字符的一部分.
如果您正在搜索的字符串和您要搜索的字符串具有不同的字符编码,则始终需要进行转换.否则,您会发现对于在其他编码中表示不同的任何字符串,它将始终返回false.您应该对输入进行此类转换:决定应用程序将使用的字符编码,并在应用程序中保持一致.只要您以不同的编码接收输入,就可以进行转换.
以上是脚本宝典为你收集整理的PHP多字节字符串函数全部内容,希望文章能够帮你解决PHP多字节字符串函数所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。