php6 新特性,PHP6的新特性:Unicode和TextIterator
发布日期:2021-06-24 12:08:53 浏览次数:2 分类:技术文章

本文共 1386 字,大约阅读时间需要 4 分钟。

我刚刚安装了PHP6 DEV版本,决定测试一下PHP6的新特性-PHP的Unicode支持。我并没有打算讲PHP6的新特性或者是Unicode,下面仅仅是我做的关于Unicode的测试。

首先要做的是让php6支持Unicode,在php.ini文件中修改。

;;;;;;;;;;;;;;;;;;;;

; Unicode settings ;

;;;;;;;;;;;;;;;;;;;;unicode.semantics = on

unicode.runtime_encoding = utf-8

unicode.script_encoding = utf-8

unicode.output_encoding = utf-8

unicode.from_error_mode = U_INVALID_SUBSTITUTE

unicode.from_error_subst_char = 3f由于我使用的是法语和英语有所不同,有一些字符需要处理。

所以,我第一次试验的目的是检验strlen功能的Unicode …

$word = "être";

echo "Length: ".strlen($word);

结果是: Length: 4  。结果非常的正确… …但它仅仅是个开始! : )

我的第二个测试对象是与PHP6新的SPL中的TextIterator textiterator

$word = "être";

foreach (new TextIterator($word, TextIterator::CHARACTER) as $character) {

? var_inspect($character);

}

输出: unicode(1) “ê” { 00ea } unicode(1) “t” { 0074 } unicode(1) “r” { 0072 } unicode(1) “e” { 0065 }

分解单词,得到了很多的字母和字母的信息…

TextIterator::CHARACTER的操作看上去非常的强大啊,不过TextIterator::WORD更强大

$sentences = "Bonjour, nous sommes Français ! Aïe :)";

foreach (new TextIterator($sentences, TextIterator::WORD) as $word) {

var_inspect($word);

}

得到的结果: unicode(7) “Bonjour” { 0042 006f 006e 006a 006f 0075 0072 } unicode(1) “,” { 002c } unicode(1) ” ” { 0020 } unicode(4) “nous” { 006e 006f 0075 0073 } unicode(1) ” ” { 0020 } unicode(6) “sommes” { 0073 006f 006d 006d 0065 0073 } unicode(1) ” ” { 0020 } unicode(8) “Français” { 0046 0072 0061 006e 00e7 0061 0069 0073 } unicode(1) ” ” { 0020 }

转载地址:https://blog.csdn.net/weixin_32646781/article/details/116417036 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:oracle的查询性能,oracle 查询性能问题
下一篇:oracle 断电恢复吗,oracle服务器突然断电恢复日志过程

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月13日 03时41分36秒