Unicode 7.0.0于2014年6月发布.PCRE版本需要一段时间才能包含此版本,而另一个版本则包含更新的PCRE库。截至2014年7月,PCRE / PHP中的当前Unicode版本为6.3.0。有没有办法从PHP脚本中检测正在使用哪个Unicode版本? phpinfo()
对此事保持沉默。
除了PCRE之外,Unicode版本是否会对任何内容产生影响?我无法看到它会如何影响其他库,例如mb_string,因为(据我所知)他们不关心代码点是否被分配,或者它具有什么属性(块,脚本,信,标记等。)。
答案 0 :(得分:2)
我一直与PCRE的维护者联系,他告诉我它没有返回编译的Unicode版本的功能。因此,PHP也无法分辨。他将此功能添加到PCRE的未来版本中,但无法承诺何时。
答案 1 :(得分:2)
PCRE_VERSION
)和补丁, --with-pcre-regex=DIR
可以提供帮助。
> php -r 'echo PCRE_VERSION, PHP_EOL;'
> 8.34 2013-12-15
下表显示了PHP与PCRE和Unicode版本之间的对应关系。
PHP | PCRE | Unicode
-----------------------------------------
5.5.10 |8.34 | 6.3.0
5.5.0 / 5.4.14 / 5.3.24 |8.32 | 6.2.0
5.4.9 / 5.3.19 8.31 |8.31 | 6.1.0
5.3.0 |7.9 | 5.1.0
Unicode | PCRE
-------------------
7.0.0 | 8.36
6.3.0 | 8.34, 8.35
6.2.0 | 8.32
6.1.0 | 8.31
6.0.0 | 8.13, 8.20, 8.21, 8.30
5.2.0 | 8.02, 8.10, 8.11, 8.12
5.1.0 | 7.9, 8.0
5.0.0 | 7.0
<强>来源