如何在没有mbstring扩展的情况下处理PHP中的unicode

时间:2009-12-13 20:03:44

标签: php string unicode utf-8

我使用共享托管服务来托管我的网站,因此我无法直接访问PHP配置或安装任何扩展程序。所以我的问题是utf-8字符串无法由标准PHP字符串函数处理,因为我没有在服务器上安装mbstring扩展。我正在寻找另一种处理unicode字符串的方法,非常感谢任何帮助或指导,或者如果您知道任何在线资源,请与我分享。

2 个答案:

答案 0 :(得分:6)

Sourceforge上有PHP UTF-8库 - 可能足以满足您的需求。此外,preg_*函数通常会独立于mbstring接受/u修饰符。

从长远来看,我同意是时候开始寻找更新的主机了。 Mbstring现在几乎是一个基本必需品,主机缺少这个必须要问其他可能缺少什么。

答案 1 :(得分:2)

如果你别无选择,只能坚持使用这个主机并且你不能扭曲他们的手臂提供mbstring(来吧,php w / o mbstring就像,sooo 1999 [*])那么你可以使用intl pecl extension?加上PCRE和iconv所能做的就足够了。

intl除了格式化程序和方便的整理器外,还有这些字形函数:

  • grapheme_extract - 功能于 提取默认序列 来自文本缓冲区的字形簇, 必须以UTF-8编码。

  • grapheme_stripos - 查找位置(in 首次出现的字形单位) 不区分大小写的字符串

  • grapheme_stristr - 返回部分 干草堆从第一个字符串 出现不区分大小写的针头 到干草堆的尽头。

  • grapheme_strlen - 获取字符串长度 在字形单位

  • grapheme_strpos - 查找位置(in 首次出现的字形单位) 字符串

  • grapheme_strripos - 查找位置(in 最后一次出现的字形单位) 不区分大小写的字符串

  • grapheme_strrpos - 查找位置(in 最后一次出现的字形单位) 一个字符串

  • grapheme_strstr - 返回部分内容 干草堆从第一个字符串 发生针到底 干草堆。

  • grapheme_substr - 返回a的一部分 串

[*]为青少年语言道歉