PHP使用DES进行加密和解密
发布于:2014-8-27 13:52 作者:admin 浏览:2175 分类:PHP
php中有一个扩展可以支持DES的加密算法,是:extension=php_mcrypt.dll
在配置文件中将这个扩展打开还不能够在windows环境下使用
需要将PHP文件夹下的 libmcrypt.dll 拷贝到系统的 system32 目录下,这是通过phpinfo可以查看到mcrypt表示这个模块可以正常试用了。
下面是PHP中使用DES加密解密的一个例子:
//$input - stuff to decrypt //$key - the secret key to use function do_mencrypt($input, $key) { $input = str_replace(""n", "", $input); $input = str_replace(""t", "", $input); $input = str_replace(""r", "", $input); $key = substr(md5($key), 0, 24); $td = mcrypt_module_open('tripledes', '', 'ecb', ''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $key, $iv); $encrypted_data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); return trim(chop(base64_encode($encrypted_data))); } //$input - stuff to decrypt //$key - the secret key to use function do_mdecrypt($input, $key) { $input = str_replace(""n", "", $input); $input = str_replace(""t", "", $input); $input = str_replace(""r", "", $input); $input = trim(chop(base64_decode($input))); $td = mcrypt_module_open('tripledes', '', 'ecb', ''); $key = substr(md5($key), 0, 24); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $key, $iv); $decrypted_data = mdecrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); return trim(chop($decrypted_data)); }
header
发布于:2014-5-8 11:42 作者:admin 浏览:1737 分类:PHP//定义编码 header( 'Content-Type:text/html;charset=utf-8 '); //Atom header('Content-type: application/atom+xml'); //CSS header('Content-type: text/css'); //Javascript header('Content-type: text/javascript'); //JPEG Image header('Content-type: image/jpeg'); //JSON header('Content-type: application/json'); //PDF header('Content-type: application/pdf'); //RSS header('Content-Type: application/rss+xml; charset=ISO-8859-1'); //Text (Plain) header('Content-type: text/plain'); //XML header('Content-type: text/xml'); // ok header('HTTP/1.1 200 OK'); //设置一个404头: header('HTTP/1.1 404 Not Found'); //设置地址被永久的重定向 header('HTTP/1.1 301 Moved Permanently'); //转到一个新地址 header('Location: http://www.example.org/'); //文件延迟转向: header('Refresh: 10; url=http://www.example.org/'); print 'You will be redirected in 10 seconds'; //当然,也可以使用html语法实现 // <meta http-equiv="refresh" content="10;http://www.example.org/ /> // override X-Powered-By: PHP: header('X-Powered-By: PHP/4.4.0'); header('X-Powered-By: Brain/0.6b'); //文档语言 header('Content-language: en'); //告诉浏览器最后一次修改时间 $time = time() - 60; // or filemtime($fn), etc header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器文档内容没有发生改变 header('HTTP/1.1 304 Not Modified'); //设置内容长度 header('Content-Length: 1234'); //设置为一个下载类型 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="example.zip"'); header('Content-Transfer-Encoding: binary'); // load the file to send: readfile('example.zip'); // 对当前文档禁用缓存 header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Pragma: no-cache'); //设置内容类型: header('Content-Type: text/html; charset=iso-8859-1'); header('Content-Type: text/html; charset=utf-8'); header('Content-Type: text/plain'); //纯文本格式 header('Content-Type: image/jpeg'); //JPG*** header('Content-Type: application/zip'); // ZIP文件 header('Content-Type: application/pdf'); // PDF文件 header('Content-Type: audio/mpeg'); // 音频文件 header('Content-Type: application/x-shockw**e-flash'); //Flash动画 //显示登陆对话框 header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Top Secret"'); print 'Text that will be displayed if the user hits cancel or '; print 'enters wrong login data';
PHP的SESSION机制
发布于:2014-1-9 9:11 作者:admin 浏览:1829 分类:PHP1.session.save_handler = files 1. session_start() 1. session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中, PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.ini的配置决定的, 但是有的系统是 session.gc_probability = 0,这也就是说概率是0,而是通过cron脚本来实现垃圾回收。 session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 1440//过期时间 默认24分钟
//概率是 session.gc_probability/session.gc_divisor 结果 1/1000, //不建议设置过小,因为session的垃圾回收,是需要检查每个文件是否过期的。 session.save_path = //好像不同的系统默认不一样,有一种设置是 "N;/path" //这是随机分级存储,这个样的话,垃圾回收将不起作用,需要自己写脚本 2. session会判断当前是否有$_COOKIE[session_name()];session_name()返回保存session_id的COOKIE键值, 这个值可以从php.ini找到 session.name = PHPSESSID //默认值PHPSESSID 3. 如果不存在会生成一个session_id,然后把生成的session_id作为COOKIE的值传递到客户端. 相当于执行了下面COOKIE 操作,注意的是,这一步执行了setcookie()操作,COOKIE是在header头中发送的, 这之前是不能有输出的,PHP有另外一个函数 session_regenerate_id() 如果使用这个函数,这之前也是不能有输出的。 setcookie(session_name(), session_id(), session.cookie_lifetime,//默认0 session.cookie_path,//默认'/'当前程序跟目录下都有效 session.cookie_domain,//默认为空 ) 4. 如果存在那么session_id = $_COOKIE[session_name]; 然后去session.save_path指定的文件夹里去找名字为'SESS_' . session_id()的文件. 读取文件的内容反序列化,然后放到$_SESSION中 * 2. 为$_SESSION赋值 比如新添加一个值$_SESSION['test'] = 'blah'; 那么这个$_SESSION只会维护在内存中,当脚本执行结束的时候, 用把$_SESSION的值写入到session_id指定的文件夹中,然后关闭相关资源. 这个阶段有可能执行更改session_id的操作, 比如销毁一个旧的的session_id,生成一个全新的session_id.一半用在自定义 session操作,角色的转换上, 比如Drupal.Drupal的匿名用户有一个SESSION的,当它登录后需要换用新的session_id if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time() - 42000, '/');//旧session cookie过期 } session_regenerate_id();//这一步会生成新的session_id //session_id()返回的是新的值 3.写入SESSION操作 在脚本结束的时候会执行SESSION写入操作,把$_SESSION中值写入到session_id命名的文件中,可能已经存在, 可能需要创建新的文件。 4. 销毁SESSION SESSION发出去的COOKIE一般属于即时COOKIE,保存在内存中,当浏览器关闭后,才会过期,假如需要人为强制过期, 比如 退出登录,而不是关闭浏览器,那么就需要在代码里销毁SESSION,方法有很多, 4.1. setcookie(session_name(), session_id(), time() - 8000000, ..);//退出登录前执行 4.2. usset($_SESSION);//这会删除所有的$_SESSION数据,刷新后,有COOKIE传过来,但是没有数据。 4.3. session_destroy();//这个作用更彻底,删除$_SESSION 删除session文件,和session_id 2.session.save_handler = user 用户自定义session处理机制,更加直观 * session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc'); 1.session_start(), 执行open($save_path, $session_name)打开session操作句柄 $save_path 在session.save_handler = files的情况下它就是session.save_path, 但是如果用户自定的话,这个两个参数都用不上,直接返回TRUE 执行read($id)从中读取数据.//这个参数是自动传递的就是session_id(),可以通过这个值进行操作。 * 2.脚本执行结束 执行write($id, $sess_data) //两个参数,很简单 * 3.假如用户需要session_destroy() 先执行destroy.在执行第2步 一个实际例子: //SESSION初始化的时候调用 function open($save_path, $session_name) { global $sess_save_path; $sess_save_path = $save_path; return(true); } //关闭的时候调用 function close() { return(true); } function read($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_$id"; return (string) @file_get_contents($sess_file); } //脚本执行结束之前,执行写入操作 function write($id, $sess_data) { echo "sdfsf"; global $sess_save_path; $sess_file = "$sess_save_path/sess_$id"; if ($fp = @fopen($sess_file, "w")) { $return = fwrite($fp, $sess_data); fclose($fp); return $return; } else { return(false); } } function destroy($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_$id"; return(@unlink($sess_file)); } function gc($maxlifetime) { global $sess_save_path; foreach (glob("$sess_save_path/sess_*") as $filename) { if (filemtime($filename) + $maxlifetime < time()) { @unlink($filename); } } return true; }
register_shutdown_function
发布于:2013-12-25 13:45 作者:admin 浏览:1915 分类:PHP
register_shutdown_function 执行机制是:PHP把要调用的函数调入内存。当页面所有PHP语句都执行完成时,再调用此 函数。
注意:register_shutdown_function是指在执行完所有PHP语句后再调用函数,不要理解成客户端关闭流浏览器页面时调用函数。
可以这样理解调用条件:
1、当页面被用户强制停止时
2、当程序代码运行超时时
3、当PHP代码执行完成时
<?php //register_shutdown_function测试范例
function shutdown() { echo 'PHP_EOL 万能换行符,window \r\n, unix \n, mac \r'.PHP_EOL; //连接符的使用方式。 echo 'Script executed with success', PHP_EOL; //,和 PHP_EOL 的使用方式 } register_shutdown_function('shutdown'); echo 'pos1'.PHP_EOL; exit(); echo 'pos2'; ?>
测试结果:(输出POS1后,由于exit()退出,然后开始执行内存中的'shutdown' 函数。没有执行 pos2) pos1 PHP_EOL 万能换行符,window \r\n, unix \n, mac \r Script executed with success
HTTP Content-type
发布于:2013-12-12 15:39 作者:admin 浏览:1582 分类:程序开发文件扩展名 | Content-Type(Mime-Type) | 文件扩展名 | Content-Type(Mime-Type) |
---|---|---|---|
.*( 二进制流,不知道下载文件类型) | application/octet-stream | .tif | image/tiff |
.001 | application/x-001 | .301 | application/x-301 |
.323 | text/h323 | .906 | application/x-906 |
.907 | drawing/907 | .a11 | application/x-a11 |
.acp | audio/x-mei-aac | .ai | application/postscript |
.aif | audio/aiff | .aifc | audio/aiff |
.aiff | audio/aiff | .anv | application/x-anv |
.asa | text/asa | .asf | video/x-ms-asf |
.asp | text/asp | .asx | video/x-ms-asf |
.au | audio/basic | .avi | video/avi |
.awf | application/vnd.adobe.workflow | .biz | text/xml |
.bmp | application/x-bmp | .bot | application/x-bot |
.c4t | application/x-c4t | .c90 | application/x-c90 |
.cal | application/x-cals | .cat | application/vnd.ms-pki.seccat |
.cdf | application/x-netcdf | .cdr | application/x-cdr |
.cel | application/x-cel | .cer | application/x-x509-ca-cert |
.cg4 | application/x-g4 | .cgm | application/x-cgm |
.cit | application/x-cit | .class | java/* |
.cml | text/xml | .cmp | application/x-cmp |
.cmx | application/x-cmx | .cot | application/x-cot |
.crl | application/pkix-crl | .crt | application/x-x509-ca-cert |
.csi | application/x-csi | .css | text/css |
.cut | application/x-cut | .dbf | application/x-dbf |
.dbm | application/x-dbm | .dbx | application/x-dbx |
.dcd | text/xml | .dcx | application/x-dcx |
.der | application/x-x509-ca-cert | .dgn | application/x-dgn |
.dib | application/x-dib | .dll | application/x-msdownload |
.doc | application/msword | .dot | application/msword |
.drw | application/x-drw | .dtd | text/xml |
.dwf | Model/vnd.dwf | .dwf | application/x-dwf |
.dwg | application/x-dwg | .dxb | application/x-dxb |
.dxf | application/x-dxf | .edn | application/vnd.adobe.edn |
.emf | application/x-emf | .eml | message/rfc822 |
.ent | text/xml | .epi | application/x-epi |
.eps | application/x-ps | .eps | application/postscript |
.etd | application/x-ebx | .exe | application/x-msdownload |
.fax | image/fax | .fdf | application/vnd.fdf |
.fif | application/fractals | .fo | text/xml |
.frm | application/x-frm | .g4 | application/x-g4 |
.gbr | application/x-gbr | . | application/x- |
.gif | image/gif | .gl2 | application/x-gl2 |
.gp4 | application/x-gp4 | .hgl | application/x-hgl |
.hmr | application/x-hmr | .hpg | application/x-hpgl |
.hpl | application/x-hpl | .hqx | application/mac-binhex40 |
.hrf | application/x-hrf | .hta | application/hta |
.htc | text/x-component | .htm | text/html |
.html | text/html | .htt | text/webviewhtml |
.htx | text/html | .icb | application/x-icb |
.ico | image/x-icon | .ico | application/x-ico |
.iff | application/x-iff | .ig4 | application/x-g4 |
.igs | application/x-igs | .iii | application/x-iphone |
.img | application/x-img | .ins | application/x-internet-signup |
.isp | application/x-internet-signup | .IVF | video/x-ivf |
.java | java/* | .jfif | image/jpeg |
.jpe | image/jpeg | .jpe | application/x-jpe |
.jpeg | image/jpeg | .jpg | image/jpeg |
.jpg | application/x-jpg | .js | application/x-javascript |
.jsp | text/html | .la1 | audio/x-liquid-file |
.lar | application/x-laplayer-reg | .latex | application/x-latex |
.lavs | audio/x-liquid-secure | .lbm | application/x-lbm |
.lmsff | audio/x-la-lms | .ls | application/x-javascript |
.ltr | application/x-ltr | .m1v | video/x-mpeg |
.m2v | video/x-mpeg | .m3u | audio/mpegurl |
.m4e | video/mpeg4 | .mac | application/x-mac |
.man | application/x-troff-man | .math | text/xml |
.mdb | application/msaccess | .mdb | application/x-mdb |
.mfp | application/x-shockwave-flash | .mht | message/rfc822 |
.mhtml | message/rfc822 | .mi | application/x-mi |
.mid | audio/mid | .midi | audio/mid |
.mil | application/x-mil | .mml | text/xml |
.mnd | audio/x-musicnet-download | .mns | audio/x-musicnet-stream |
.mocha | application/x-javascript | .movie | video/x-sgi-movie |
.mp1 | audio/mp1 | .mp2 | audio/mp2 |
.mp2v | video/mpeg | .mp3 | audio/mp3 |
.mp4 | video/mpeg4 | .mpa | video/x-mpg |
.mpd | application/vnd.ms-project | .mpe | video/x-mpeg |
.mpeg | video/mpg | .mpg | video/mpg |
.mpga | audio/rn-mpeg | .mpp | application/vnd.ms-project |
.mps | video/x-mpeg | .mpt | application/vnd.ms-project |
.mpv | video/mpg | .mpv2 | video/mpeg |
.mpw | application/vnd.ms-project | .mpx | application/vnd.ms-project |
.mtx | text/xml | .mxp | application/x-mmxp |
.net | image/pnetvue | .nrf | application/x-nrf |
.nws | message/rfc822 | .odc | text/x-ms-odc |
.out | application/x-out | .p10 | application/pkcs10 |
.p12 | application/x-pkcs12 | .p7b | application/x-pkcs7-certificates |
.p7c | application/pkcs7-mime | .p7m | application/pkcs7-mime |
.p7r | application/x-pkcs7-certreqresp | .p7s | application/pkcs7-signature |
.pc5 | application/x-pc5 | .pci | application/x-pci |
.pcl | application/x-pcl | .pcx | application/x-pcx |
application/pdf | application/pdf | ||
.pdx | application/vnd.adobe.pdx | .pfx | application/x-pkcs12 |
.pgl | application/x-pgl | .pic | application/x-pic |
.pko | application/vnd.ms-pki.pko | .pl | application/x-perl |
.plg | text/html | .pls | audio/scpls |
.plt | application/x-plt | .png | image/png |
.png | application/x-png | .pot | application/vnd.ms-powerpoint |
.ppa | application/vnd.ms-powerpoint | .ppm | application/x-ppm |
.pps | application/vnd.ms-powerpoint | .ppt | application/vnd.ms-powerpoint |
.ppt | application/x-ppt | .pr | application/x-pr |
.prf | application/pics-rules | .prn | application/x-prn |
.prt | application/x-prt | .ps | application/x-ps |
.ps | application/postscript | .ptn | application/x-ptn |
.pwz | application/vnd.ms-powerpoint | .r3t | text/vnd.rn-realtext3d |
.ra | audio/vnd.rn-realaudio | .ram | audio/x-pn-realaudio |
.ras | application/x-ras | .rat | application/rat-file |
.rdf | text/xml | .rec | application/vnd.rn-recording |
.red | application/x-red | .rgb | application/x-rgb |
.rjs | application/vnd.rn-realsystem-rjs | .rjt | application/vnd.rn-realsystem-rjt |
.rlc | application/x-rlc | .rle | application/x-rle |
.rm | application/vnd.rn-realmedia | .rmf | application/vnd.adobe.rmf |
.rmi | audio/mid | .rmj | application/vnd.rn-realsystem-rmj |
.rmm | audio/x-pn-realaudio | .rmp | application/vnd.rn-rn_music_package |
.rms | application/vnd.rn-realmedia-secure | .rmvb | application/vnd.rn-realmedia-vbr |
.rmx | application/vnd.rn-realsystem-rmx | .rnx | application/vnd.rn-realplayer |
.rp | image/vnd.rn-realpix | .rpm | audio/x-pn-realaudio-plugin |
.rsml | application/vnd.rn-rsml | .rt | text/vnd.rn-realtext |
.rtf | application/msword | .rtf | application/x-rtf |
.rv | video/vnd.rn-realvideo | .sam | application/x-sam |
.sat | application/x-sat | .sdp | application/sdp |
.sdw | application/x-sdw | .sit | application/x-stuffit |
.slb | application/x-slb | .sld | application/x-sld |
.slk | drawing/x-slk | .smi | application/smil |
.smil | application/smil | .smk | application/x-smk |
.snd | audio/basic | .sol | text/plain |
.sor | text/plain | .spc | application/x-pkcs7-certificates |
.spl | application/futuresplash | .spp | text/xml |
.ssm | application/streamingmedia | .sst | application/vnd.ms-pki.certstore |
.stl | application/vnd.ms-pki.stl | .stm | text/html |
.sty | application/x-sty | .svg | text/xml |
.swf | application/x-shockwave-flash | .tdf | application/x-tdf |
.tg4 | application/x-tg4 | .tga | application/x-tga |
.tif | image/tiff | .tif | application/x-tif |
.tiff | image/tiff | .tld | text/xml |
.top | drawing/x-top | .torrent | application/x-bittorrent |
.tsd | text/xml | .txt | text/plain |
.uin | application/x-icq | .uls | text/iuls |
.vcf | text/x-vcard | .vda | application/x-vda |
.vdx | application/vnd.visio | .vml | text/xml |
.vpg | application/x-vpeg005 | .vsd | application/vnd.visio |
.vsd | application/x-vsd | .vss | application/vnd.visio |
.vst | application/vnd.visio | .vst | application/x-vst |
.vsw | application/vnd.visio | .vsx | application/vnd.visio |
.vtx | application/vnd.visio | .vxml | text/xml |
.wav | audio/wav | .wax | audio/x-ms-wax |
.wb1 | application/x-wb1 | .wb2 | application/x-wb2 |
.wb3 | application/x-wb3 | .wbmp | image/vnd.wap.wbmp |
.wiz | application/msword | .wk3 | application/x-wk3 |
.wk4 | application/x-wk4 | .wkq | application/x-wkq |
.wks | application/x-wks | .wm | video/x-ms-wm |
.wma | audio/x-ms-wma | .wmd | application/x-ms-wmd |
.wmf | application/x-wmf | .wml | text/vnd.wap.wml |
.wmv | video/x-ms-wmv | .wmx | video/x-ms-wmx |
.wmz | application/x-ms-wmz | .wp6 | application/x-wp6 |
.wpd | application/x-wpd | .wpg | application/x-wpg |
.wpl | application/vnd.ms-wpl | .wq1 | application/x-wq1 |
.wr1 | application/x-wr1 | .wri | application/x-wri |
.wrk | application/x-wrk | .ws | application/x-ws |
.ws2 | application/x-ws | .wsc | text/scriptlet |
.wsdl | text/xml | .wvx | video/x-ms-wvx |
.xdp | application/vnd.adobe.xdp | .xdr | text/xml |
.xfd | application/vnd.adobe.xfd | .xfdf | application/vnd.adobe.xfdf |
.xhtml | text/html | .xls | application/vnd.ms-excel |
.xls | application/x-xls | .xlw | application/x-xlw |
.xml | text/xml | .xpl | audio/scpls |
.xq | text/xml | .xql | text/xml |
.xquery | text/xml | .xsd | text/xml |
.xsl | text/xml | .xslt | text/xml |
.xwd | application/x-xwd | .x_b | application/x-x_b |
.sis | application/vnd.symbian.install | .sisx | application/vnd.symbian.install |
.x_t | application/x-x_t | .ipa | application/vnd.iphone |
.apk | application/vnd.android.package-archive | .xap | application/x-silverlight-app |
SCWS – 简易中文分词系统 介绍和案例
发布于:2013-12-9 11:19 作者:admin 浏览:2229 分类:PHPSCWS – 简易中文分词系统
SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。
系统平台:Windows/Unix
开发语言:C
使用方式:PHP扩展
官方地址:http://www.xunsearch.com/scws/index.php
案例:
PSCWS4 类对应的文件为 pscws4.class.php。在 PHP 代码中的调用方法如下: <?php // 加入头文件 require '/path/to/pscws4.class.php'; // 建立分词类对像, 参数为字符集, 默认为 gbk, 可在后面调用 set_charset 改变 $pscws = new PSCWS4('utf8'); // // 接下来, 设定一些分词参数或选项, set_dict 是必须的, 若想智能识别人名等需要 set_rule // // 包括: set_charset, set_dict, set_rule, set_ignore, set_multi, set_debug, set_duality ... 等方法 // $pscws->set_dict('/path/to/etc/dict.xdb'); $pscws->set_rule('/path/to/etc/rules.ini'); // 分词调用 send_text() 将待分词的字符串传入, 紧接着循环调用 get_result() 方法取回一系列分好的词 // 直到 get_result() 返回 false 为止 // 返回的词是一个关联数组, 包含: word 词本身, idf 逆词率(重), off 在text中的偏移, len 长度, attr 词性 // $pscws->send_text($text); while ($some = $pscws->get_result()) { foreach ($some as $word) { print_r($word); } } // 在 send_text 之后可以调用 get_tops() 返回分词结果的词语按权重统计的前 N 个词 // 常用于提取关键词, 参数用法参见下面的详细介绍. // 返回的数组元素是一个词, 它又包含: word 词本身, weight 词重, times 次数, attr 词性 $tops = $pscws->get_tops(10, 'n,v'); print_r($tops); ?> <?php class PSCWS4 { void set_charset(string charset); 说明:设定分词词典、规则集、欲分文本字符串的字符集,系统缺省是 gbk 字集。 返回:无。 参数:charset 是设定的字符集,目前只支持 utf8 和 gbk。(注:big5 也可作 gbk 处理) 注意:输入要切分的文本,词典,规则文件这三者的字符集必须统一为该 charset 值。 bool set_dict(string dict_fpath); 说明:设置分词引擎所采用的词典文件。 参数:dict_path 是词典的路径,可以是相对路径或完全路径。 返回:成功返回 true 失败返回 false。 错误:若有错误会给出 WARNING 级的错误提示。 void set_rule(string rule_path); 说明:设定分词所用的新词识别规则集(用于人名、地名、数字时间年代等识别)。 返回:无。 参数:rule_path 是规则集的路径,可以是相对路径或完全路径。 void set_ignore(bool yes) 说明:设定分词返回结果时是否去除一些特殊的标点符号之类。 返回:无。 参数:yes 设定值,如果为 true 则结果中不返回标点符号,如果为 false 则会返回,缺省为 false。 void set_multi(int mode); 说明:设定分词返回结果时是否复合分割,如“中国人”返回“中国+人+中国人”三个词。 返回:无。 参数:mode 设定值,1 ~ 15。 按位异或的 1 | 2 | 4 | 8 分别表示: 短词 | 二元 | 主要单字 | 所有单字 void set_duality(bool yes); 说明:设定是否将闲散文字自动以二字分词法聚合。 返回:无。 参数:yes 设定值,如果为 true 则结果中多个单字会自动按二分法聚分,如果为 false 则不处理,缺省为 false。 void set_debug(bool yes); 说明:设置分词过程是否输出N-Path分词过程的调试信息。 参数:yes 设定值,如果为 true 则分词过程中对于多路径分法分给出提示信息。 返回:无。 void send_text(string text) 说明:发送设定分词所要切割的文本。 返回:无。 参数:text 是文本的内容。 注意:执行本函数时,请先加载词典和规则集文件并设好相关选项。 mixed get_result(void) 说明:根据 send_text 设定的文本内容,返回一系列切好的词汇。 返回:成功返回切好的词汇组成的数组, 若无更多词汇,返回 false。 参数:无。 注意:每次切割后本函数应该循环调用,直到返回 false 为止,因为程序每次返回的词数是不确定的。 返回的词汇包含的键值有:word (string, 词本身) idf (folat, 逆文本词频) off (int, 在文本中的位置) attr(string, 词性) mixed get_tops( [int limit [, string attr]] ) 说明:根据 send_text 设定的文本内容,返回系统计算出来的最关键词汇列表。 返回:成功返回切好的词汇组成的数组, 若无更多词汇,返回 false。 参数:limit 可选参数,返回的词的最大数量,缺省是 10; attr 可选参数,是一系列词性组成的字符串,各词性之间以半角的逗号隔开, 这表示返回的词性必须在列表中,如果以~开头,则表示取反,词性必须不在列表中, 缺省为空,返回全部词性,不过滤。 string version(void); 说明:返回本版号。 返回:版本号(字符串)。 参数:无。 void close(void); 说明:关闭释放资源,使用结束后可以手工调用该函数或等系统自动回收。 返回:无。 参数:无。 }; ?>
php 匹配汉字
发布于:2013-10-21 11:34 作者:admin 浏览:1799 分类:PHPvar str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else { alert("该字符串不全部是中文"); }在php中来判断字符串是否为中文:
<?php $str = "php编程"; if (preg_match("/^[\u4e00-\u9fa5]+$/",$str)) { print("该字符串全部是中文"); } else { print("该字符串不全部是中文"); } ?>