2009-12-13 48 views
5

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

+5

这是你要找到一个更好的主机 – 2009-12-13 20:06:35

+0

约定好的迹象道歉。虽然你不应该期望你的主机安装你要求的任何扩展,但是现在应该将mbstring视为标准。如果你的主人不允许,你真的应该找到另一个。 – 2009-12-13 20:18:35

+0

我们已经支付,并且在任何情况下都没有现金返还政策。 – Ayoub 2009-12-13 20:31:10

回答

6

还有就是PHP UTF-8图书馆那里在SourceForge上 - 可能会为你的需求是不够的。此外,preg_*函数通常接受/u修饰符,而不受mbstring的限制。

长远我同意现在是时候开始四处寻找一个更切合最新的主机。 Mbstring现在是非常基本的必需品,缺少这个的主持人不得不问问还有什么可能会丢失。

2

如果你别无选择,只能坚持与这个主机,你不能扭转他们的胳膊提供mbstring(c'mon,php w/o mbstring是,就像sooo 1999 [*]),那么你可以吗?使用intl pecl extension?加上你可以用PCRE和iconv做的事情就足够了。

国际机场具有,除了格式化和方便的整理,这些字形功能:

  • grapheme_extract - 功能到 从一个文本缓冲器, 必须在被编码提取默认 字形簇的序列UTF-8。

  • grapheme_stripos - 查找不区分大小写grapheme_stristr

  • 的第一次出现 的位置( 字形单位) - 从所述第一 发生不区分大小写的针 到返回部分 草堆串的干草堆的结束。

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

  • grapheme_strpos - 查找字符串

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

  • grapheme_strrpos - Find的 字符串

  • grapheme_strstr最后一次出现的位置( 字形单位) - 从所述第一 发生针的到 草堆的末尾返回 草堆字符串的一部分。

  • grapheme_substr - 一个 字符串返回部分

[*]为teenspeak