‘PHP’ 分类的存档
Pinyin.zip 最新最全的PHP汉字转拼音库,按照金山词霸2005的《国际标准汉字大字典》制作的。 最近无聊便研究了一下PHP如何实现汉字转拼音。发现网上提供的拼音库自己都不怎么满意,要么就是GB2312的拼音库,要么就是用《微软输入法生成器》转换,前者只支持几千个汉字远远不够用,后者还算好支持全部的GBK汉字,但是问题也很多,比如没有声调、且很多字的字音是错的。 后来在网上无意中找到了个金山词霸的字典dump工具,于是便做了这个拼音库。 有意思的是《国际标准汉字大字典》里比通过《微软输入法生成器》做逆转换少了一个“龥”字。 GBK编码,总共20901个汉字,多音字支持,声调支持。 example.zip 中是例子程序,可以对整句中文拆字再转成拼音(对多音字生成所有可能的读音情况)。 pinyin_table_ISCCD_no_tune.zip 没有声调的转换表 pinyin_table_ISCCD_with_tune.zip 有声调的转换表 table_ISCCD.rar 文本格式的拼音表,可以用作其它语言。
Q:PHP中的类可以有构造函数么? A:可以,只要函数名和类名相同,这个函数将成为构造函数。在使用 new 操作符来创建一个类的实例时,该构造函数将会自动调用,因此,可以把一些初始化工作放在构造函数里完成。 Q:PHP中的类有析构函数么? A:没有。当对象被销毁,使用 unset() 或者简单的脱离范围,析构函数都会自动调用。但 PHP 中没有析构函数。 如: unset($foo); 就销毁一个类对象$foo了。 Q:要如何继承一个类? A:使用关键字 extends 来继承一个类,如: class B extents A { } Q:在类的定义中如何引用自身? A:使用 $this 来引用当前类自身,如: $this->name = “Tom”; Q:在子类中如何使用父类? A:使用 :: 操作符,且有两种方式,一种是直接用父类名,如: A::example(); 一种是用 parent 关键字,如: parent::example(); 建议采用 parent:: 来引用父类。 Q:我不想创建类的实例,能直接使用类中的函数或变量吗? A:可以,采用 :: 操作符,如: B::example(); 就可以执行B类中的函数example(),而并没有创建任何B类的对象,仅仅是作为一个类函数来调用,这对于功能模块归纳组织很有好处。 Q:PHP有多重继承么? //added by erquan A:没有。子类不能同时从两个父类继承,即一个孩子不能同时有两个爸爸:)。子类必须依赖于一个且必须已存在的基类。
CODE: < ?php /** * $Id$ * * Filename : referer.php * Author : 额系菜屁屁 * Email : lianxiwoo@gmail.com | hotmail.com * Create : 20060831 * LastMod : 2006 * Usage : * 国际村首发 */ //ini_set(‘display_errors’, 1); //error_reporting(E_ALL ^ E_NOTICE); //header(“Content-type:text/html;charset=utf-8″); set_time_limit(5); $referer = ‘http://php.club.goodoon.com’; $data = ‘Hello PHPX!’; $host = “www.phpx.com”; $path = “/happy/index.php”; $port = ’80′; $user = ‘额系菜屁屁’; $pswd = ‘屁屁’; // {{{ 方法 1 ,用 fsockopen /* // 处理好 formhash 的值就可以实现登录,这里还不可以,弄过discuz的可以尝试一下 $path = ”/happy/logging.php?action=login”; $data = ”formhash=&referer=$referer& loginmode=normal&cookietime=2592000 &loginfield=username&username=$user&password=$pswd&questionid=0″; */ $q = ”; $q .= “GET $path HTTP/1.1rn”; $q .= “Host: $hostrn”; $q .= “Referer: $refererrn”; // 看这里 $q .= “Content-type: application/x-www-form-urlencodedrn”; $q .= “Content-length: ”.strlen($data).“rn”; $q .= “Accept: */*rn”; $q .= “Connection: closern”; $q .= “rn”; $q .= $data; $fp = fsockopen($host, $port); fputs($fp, $q); $r = ”; while(!feof($fp)) { $r .= fgets($fp); } fclose($fp); //echo $r; // }}} // {{{ 方法 2 ,用 curl 系列函数(另外 curl 真的非常不错,值得大家尝试。你,值得拥有。 ^_^) $ch = curl_init(); [...]
我个人觉得PHP与Javascript各有长处,如果能完美的结合起来,那将创造出许许多多的奇迹! 我是初次写此类文章,Bug难免,请各位指正~ 现在AJAX应用非常流行,而在AJAX中客户端Javascript和服务端动态脚本的通信是关键。如果传输的信息比较简单,通常我们会直接采用字符串的方式,如果信息结构复杂一点,则通常用XML文档。XML文档虽然应用广泛,但是用php生成和用Javascript处理却不是一件很容易的事情。这里我推荐一种XML文档的比较好简化替代方案:JSON! 首先我们来了解一下Javascript的基础知识。 1.创建数组,可以用JS内建的类Array来初始化,也可以用JSON符号”[]“。下面通过两种方式创建的arr1和arr2的实质是一样的: CODE: var arr1 = new Array(); arr1[0] = “apple”; arr1[1] = “google”; arr1[2] = “longbill”; var arr2 = ["apple","google","longbill"]; 注意,数组的索引也可以是字符串,如 arr1["name"] = “longbill”; 这时的数组就相当于对象了。。。 2.创建对象,可以用JS内建的类Object来初始化,也可以用JSON符号”{}”。下面通过两种方式创建的obj1和ob2的实质也是一样的: CODE: var obj1 = new Object(); obj1.name = “longbill”; obj1.age = 18; var obj2 = { name:”longbill”,age:18 [...]
