一般情况下我只是这样做。

$str = preg_replace('#(\d+)#', ' $1 ', $str);

如果我知道这将是UTF-8我会一个小写的“u”的修改增加的格局,我想我会是很好的。但由于在某些情况下的3倍的存储空间UTF-8以2X和报告比如果本地字符集使用它会采取,我想不限制应用程序为UTF-8。

因此,我想远离我最喜欢参看preg_功能了。

大多数事情已经相当简单,到目前为止,但我对那里的替代我通常使用的字符类中参看preg_如“\ d”有点卡住了。

有帮助吗?

解决方案

实现与 mb_convert_encoding 存储包装内,以便在内部你只需要操纵UTF-8。

(我还是觉得你应该需要UTF-8 和节省大家很麻烦。)

其他提示

我认为,UTF-8编码是这样的,在与127或更小的字节值的已编码输出任何东西总是ASCII字符匹配字节值和多字节序列的从未一部分。所以,你可以继续假装编码是在这种情况下,ASCII,而不是造成问题(如空格和数字都是ASCII)。

请参阅在 http://en.wikipedia.org/wiki/UTF-8描述它表明,在一个多字节序列的所有字节有最显著位集合(例如都是> 127)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top