Submitted by gouki on 2009, January 5, 3:06 PM
simplexml函数是PHP5推出的一个新的类库,可以让你很方便的操作XML,对大多数人而言,最常用的应该是simplexml_load_file和simple_load_string两种了。
但是在使用中总会有一点问题,于是做了简单的一些测试。
建立了四个文件,两个GBK,两个UTF8,
两个GBK的文件内容分别如下:
XML/HTML代码
- <?xml version="1.0" encoding="gbk" ?>
- <test>
- <test1>this is a test中文</test1>
- </test>
XML/HTML代码
- <?xml version="1.0" encoding="utf-8" ?>
- <test>
- <test1>this is a test中文</test1>
- </test>
正如你们想的那样,UTF8的文件也是这些内容。
然后开始使用 simplexml_load_file进行测试:
PHP代码
- <?php
- $xmlFile = '1.txt';
-
- $xml = @simplexml_load_file( $xmlFile );
- if ( $xml === false ){
- echo( 'failed' );
- }else{
- echo '<pre>';
- print_r( $xml );
- echo '</pre>';
- }
-
- ?>
然后,你会发现什么?
1、如果xml的encoding与文件类型不符,立刻报错
2、simplexml可以处理gbk的XML,即文件内容和encoding都为gbk(ANSI格式)
3、不管文件内容是什么,处理完了,都是UTF8.
over,测试完毕
其实想这个测试还有另外一个原因,因为thinkPHP的模版引擎的自定义扩展是采用XML来实现的,以前很多朋友在扩展的时候都会报错,那时候,我们的提示是:请使用 UTF8格式创建XML,现在,我们又可以提示:随便你想怎么创建,只要您的文件格式和encoding一致就行。
Tags: simplexml, test, utf-8, gbk
PHP | 评论:0
| 阅读:22384
Submitted by gouki on 2009, January 4, 4:58 PM
设计模式只是为 Java™ 架构师准备的 —— 至少您可能一直这样认为。实际上,设计模式对于每个人都非常有用。如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在 PHP 应用程序中非常有用?本文解释了这些问题。
设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说设计模式 意味着可以更快地设计更好的建筑物。同样的概念也适用于软件。
设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为观察者 的模式。
用较小的示例展示模式的价值是非常困难的。这往往有些大材小用的意味,因为模式实际上是在大型代码库中发挥作用的。本文不展示大型应用程序,所以您 需要思索的是在您自己的大型应用程序中应用示例原理的方法 —— 而不是本文演示的代码本身。这不是说您不应该在小应用程序中使用模式。很多良好的应用程序都以小应用程序为起点,逐渐发展到大型应用程序,所以没有理由不 以此类扎实的编码实践为基础。
既然您已经了解了设计模式以及它们的有用之处,现在我们来看看 PHP V5 的五种常用模式。
出于版权问题,我不能继续往下贴。不过原文也很方便的可以被访问到。
原文:http://www.ibm.com/developerworks/opensource/library/os-php-designptrns/index.html
原文译文:http://www.ibm.com/developerworks/cn/opensource/os-php-designptrns/index.html
Tags: php, ibm, developer, works
PHP | 评论:0
| 阅读:18494
Submitted by gouki on 2009, January 4, 4:50 PM
这个DLL,是我以前写的另外一篇博客里介绍过的东西,在这篇博客里,有多个朋友回复需要此文件,也曾通过邮件发送过给某位网友,为了更方便的提供,现在将这个DLL上传。
使用方法很简单,在window下面直接拷到PHP所在目录的ext目录下
然后到php.ini里,在extenstion区块里加上extension=....dll(文件名太长,记不往)
尽量放到最后加载
如果有可能,请先加载mbstring,iconv等unicode支持库
如果运行 失败,尝试到命令行下运行 ,看看出错信息是什么。
附件: php_imagick_st-q8.rar (1.25 M, 下载次数:3767)
Tags: php, imagick, dll
PHP | 评论:6
| 阅读:34080
Submitted by gouki on 2009, January 4, 9:28 AM
这还是比较值得推荐的。。。(备注:加载的时候可能有点慢。如果发现加载失败,请重新刷新页面一次)
Tags: 幻灯片, php
PHP | 评论:0
| 阅读:19776
Submitted by gouki on 2009, January 3, 10:05 AM
对于我来说,英文那是我的弱项,特别是输入的时候,总是思前想后的。以前装金山快译的时候,会自动安装一个英文输入法,但那是纯粹当成一个输入法来用的。而且没有单独的安装包(也不知道现在是否有变化了)
在网上看到这款软件,不知道是否对你们有帮助,我是觉得还行吧。
网址:http://www.triivi.com/default.asp
新功能介绍:
Current Version: 2.0 -- open source, totally free!
>>Auto-completion words and phrases.
>>Sort suggestions by frequency instead of alphabet.
>>Automatically learn new words.
>>Error Checking according to spelling and pronunciation.
>>Built in vocabulary with more than 500,000 words and phrases (without professional dictionaries).
>>A great deal of professional dictionaries are present.
>>Local language translation dictionaries are supplied for non english native speaking countries.
图片:
Tags: triivi, input method, software
Software | 评论:0
| 阅读:22266