非常佩服这位兄弟开发的开源php分词系统,现在终于发布1.0.0版本了。本版本的功能有了很大的加强,同时也简化了使用,仅一个php函数。现在转帖全部内容,对张宴表示强烈的支持!! [文章/程序 作者:张宴 本文版本:v1.0 最后修改:2009.02.16 原文链接:http://blog.s135.com/post/398.htm] 名称:PHPCWS(PHP中文分词扩展) 协议:New BSD License 作者:张宴 网址:http://code.google.com/p/phpcws/ SVN:http://code.google.com/p/phpcws/source/browse/#svn/trunk/phpcws 一、PHPCWS 简介 1、什么是 PHPCWS ? PHPCWS 是一款开源的PHP中文分词扩展,目前仅支持Linux/Unix系统。 PHPCWS 先使用“ICTCLAS 3.0 共享版中文分词算法”的API进行初次分词处理,再使用自行编写的“逆向最大匹配算法”对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命 名实体识别;新词识别;同时支持用户词典。ICTCLAS经过五年精心打造,内核升级6次,目前已经升级到了ICTCLAS3.0,分词精度 98.45%,各种词典数据压缩后不到3M。ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构SigHan 组织的评测中都获得了多项第一名,是当前世界上最好的汉语词法分析器。 ICTCLAS 3.0 商业版是收费的,而免费提供的 ICTCLAS 3.0 共享版不开源,词库是根据人民日报一个月的语料得出的,很多词语不存在。所以本人对ICTCLAS分词后的结果,再采用逆向最大匹配算法,根据自己补充的 一个9万条词语的自定义词库(与ICTCLAS词库中的词语不重复),对ICTCLAS分词结果进行合并处理,输出最终分词结果。 由于 ICTCLAS 3.0 共享版只支持GBK编码,因此,如果是UTF-8编码的字符串,可以先用PHP的iconv函数转换成GBK编码,再用phpcws_split函数进行分词处理,最后转换回UTF-8编码。 2、PHPCWS 中文分词在线演示 演示网址:http://blog.s135.com/demo/phpcws/ 3、PHPCWS 分词速度及用途 初次使用时,Apache 或 php-cgi(FastCGI) 进程,需要加载一次词库到内存中,需要0.0X秒。58字节的一句话——“2009年2月13日,我编写了一款PHP中文分词扩展:PHPCWS [...]
如何在php中判断一个网页请求是ajax请求还是普通请求?你可以通过传递参数的方法来实现,例如使用如下网址请求: /path/to/pkphp.com/script.php?ajax 在php脚本中使用如下方法判断: if(isset($_GET['ajax'])) { …这是一个ajax请求,然后… } else { …这不是一个ajax请求,然后… } 通过传递_GET参数的方法简单实现了网页请求的判断。但是如果需要这样的功能,这个方法可能就有弊端,功能需求如下: 1.通过ajax请求的网页与普通请求的网页内容是不相同的 2.通过ajax请求的网页是为了方便用户操作,两种方法请求打开的网页必须的内容是相同的,只是ajax请求到的网页内容比较简化和使用,去除了网页的大框架模板。 3.这么做的目的是:用户在网页操作时通过ajax实现,而搜索引擎访问网页时(相当于普通打开网页),得到的内容是一个完整的网页(包含了网页的大框架模板)。 要完成上面的这个功能,就不能使用前面介绍的通过GET参数传递来判断了,如果使用GET传递来判断的话,用户ajax请求和普通网页请求都会是一样的内容,因为你不可能为一个链接设置一个带ajax判断参数和不带的URL。那么如何才能实现这个功能呢?必须通过服务器端PHP判断解决这个问题。也就是今天要说的PHP如何判断ajax请求。这个问题要解决有一个先决条件,那就是你使用的ajax框架必须是jquery。在jquery框架中,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,你可以利用如下方法判断某个请求是ajax请求还是普通请求: if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == ‘xmlhttprequest’) { …这是一个ajax请求,然后… } else { …这不是一个ajax请求,然后… } 利用这个来进行判断操作,可以使网页端的URL保持一致,但是能够对两种不同的请求却能够得到不同内容的网页。即实现了用户操作优化,又不影响搜索引擎收录,我觉得是一个很棒的解决方案! 这里有一个另外需要注意的问题,就是如果你的jquery请求是通过iframe打开网页的,那么HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有办法判断请求的类型。 Related items [转]开源PHP中文分词扩展:PHPCWS 1.0.0发布啦 php如何解析网页DOM?phpQurey给你搞定一切! php通用xml解析类 蝈蝈采集程序核心代码:任意字符串截取函数 php查询alexa排名的代码 http://www.pkphp.com/(2)php 判断是否Ajax请求(1)WordPress (1)php 判断 请求结束(1)ajax请求(1)php如何实现ajax(1)ajax 请求(4)PHP ajax(10)php 中如何判断请求方式(1)php 中如何判断请求方式是post还是get(1)如何判断 AJAX(2)php 判断 ajax(4)ajax 普通请求(1)HTTP_X_REQUESTED_WITH(5)php判断在线用户(1)
Also filed in
|
|
大名鼎鼎的jquery已经3岁了,他的出现让浏览器端的UI应用到达了新的水平,让javascript更加简单、方便得到应用。 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team。包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。 jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。 它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。 jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 要使用它首先要一个jQuery的库,也就是类包“jquery.js”,有了它我们就可以轻松的实现各种js功能了,它还有许多插件,可实现很多功能,所以说很强大嘛。 官方下载地址为:http://jquery.com/ 其实以我的理解,jquery是一个很简单的DOM解析器,它能够在浏览器端很方便的解析网页DOM结构。如何在php中解析网页DOM呢?phpQuery诞生了,它是一个利用php语言在服务器端实现了网页DOM解析的API。利用phpQuery可以像jquery一样方便的解析网页DOM,而且phpQuery与jquery语法和函数基本一致,也就是说如果你会了jquery的语法,那么你也就会了phpQuery的用法,太强大了!有了phpQuery,如果你要制作php采集程序,那就很简单了。 下面是phpQurey的基本用法: phpQuery::newDocumentFileXHTML(‘my-xhtml.html’)->find(‘p’); $ul = pq(‘ul’); 创建phpQuery对象有以下方法可供选择: * phpQuery::newDocument($html, $contentType = null) 从html创建文档,如果$contentType不设置,那么根据$html自动解析编码,如果失败的话则使用utf-8编码. * phpQuery::newDocumentFile($file, $contentType = null)从文件创建文档. 与newDocument()类似 * phpQuery::newDocumentHTML($html, $charset = ‘utf-8′) * phpQuery::newDocumentXHTML($html, $charset = ‘utf-8′) * phpQuery::newDocumentXML($html, [...]
使用代码,文件名:test_xml_parser.php
<?php
/*
* test_xml_parser.php
*
* @(#) $Header: /ho…
今天无聊,公布自己的写的一个函数,这个函数是我的蝈蝈采集系统的核心函数。通过这个函数,你可以把获取到的html代码按照你想要的部分提取出来。这个函数的特点是简单易用,不需要正则。有了这个函数你也可以写采集程序了!哈哈!
代码如下:
<?
/*
* 作者:askie
* 主页:http://www.pkphp.com
* email…