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