[4]xlongwei工具类
百度API:xlongwei
这个人提供的接口很多啊,也很实用:Word转Html、Word转Pdf、属性配置、手机号段、微信公众号消息加密、微信公众号消息解密、二维码、关键词、分词、拼音、生僻字、微博短链接。但是很多都不感兴趣的,除了一个,那就是中文分词啊。以前某天突然对浏览器以及编辑器中的鼠标双击事件直接选中词组或者一段数字很好奇。然后问群里人,群里说是中文分词,之后看书(应该是《暗时间》)也无意看到。还扯出了开始思考好多巧合不是巧合的未解决的心理问题。虽然现在的知识以及技术对自然语言还无法处理,但是用接口感受一下还是不算过分吧。
1.Word转Html、Word转Pdf

【选择Word文档】触发file类型的input的click事件(代码里面用了jquery,也可以直接用js写这块就不用引入jq文件了)。然后点转换,执行上传+转换。最后的链接就是本服务器存储的来自API的处理文件
<html>
<head><meta charset="utf-8">
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#wordx').click(function(){
$('#file').click();
});
});
</script>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" style="display:none"/>
<input type="button" id="wordx" value="选择Word文档">
<br />
<input type="submit" name="submit" value="WORD转Html" />
</form>
</body> </html>
<?php
$maxSize=5*1024*1024;//5M
if(!isset($_FILES["file"]["error"])){
exit;
}
if($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
exit;
}else{
/* echo "Upload: " . $_FILES["file"]["name"] . "<br />";
//echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"].'<br/>';
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";*/ $suffix=substr(strrchr($_FILES["file"]["name"], '.'), 1);
if($suffix!='doc' && $suffix!='docx'){
echo '只允许doc和docx格式word文件';
exit;
}
if($_FILES["file"]["size"]>$maxSize){
echo '大于'.$maxSize/(1024*1024).'Mb';
exit;
} $name=date('YmdHis',time()).rand(1000,10000).'.'.$suffix;//拼接文件名
if (file_exists("upload/" . $name)){
echo $_FILES["file"]["name"] . " already exists. ";
exit;
}else{
$domain=$_SERVER['SERVER_NAME'];
$status=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $name);
//echo "Stored in: " . "upload/" . $name;
$url="http://{$domain}/api/upload/{$name}";
if ( (!file_exists ("upload/{$name}")) || !$status){
echo '上传失败';
exit;
}else{
//echo "<a href='{$url}'>上传成功</a><br/>";
//echo "上传成功<br/>";
} //Word转Html $ch = curl_init();
$url = 'http://apis.baidu.com/xlongwei/open/doc2html?url='.$url;
$header = array(
'apikey:百度API密钥',
);
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行HTTP请求
curl_setopt($ch , CURLOPT_URL , $url);
$res = curl_exec($ch);
$data=json_decode($res,true);
//var_dump($data);
$htmlurl=NULL;
if(isset($data['domain'])&&isset($data['path'])){
$htmlurl=$data['domain'].$data['path'];
$name=$name=date('YmdHis',time()).rand(1000,10000).'.html';
$status=copy($htmlurl,"html/" . $name);//网络链接的文件不能用move_uploaded_file,用了copy可以
if($status){
$htmlurl="http://{$domain}/api/html/{$name}";
}else{
//echo '挪动出错';
//exit;
}
echo "<a href='$htmlurl'>Html转换完成</a>"; }else{
echo '服务器错误,请重试。';
exit;
}
}
}
?>
Word转Html完整代码
Pdf类似,只是接口处有不同。感觉效果还蛮好的嘛。肯定了,又不是相反的接口。
2.二维码

我的神器海螺呢,还想问问二维码什么原理呢。
3.中文分词

Ansj中文分词 这是一个ictclas的java实现.
好棒,这分词。之后顺便把拼音也嵌入到分词中去。

其中单字有多音字就会有好几个音,比如这个吃(chi ji)、吐(tu3 tu4),所以判断存不存在header(header 是拼音的首拼)然后空格分割取第一个(因为看到第一个大多数比较准确且自己也分辨不出第几个是最好的啊)就OK。

挑一个BUG:不了了之 bulelezhi,为什么不加成语字典呢。
[4]xlongwei工具类的更多相关文章
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Guava库介绍之实用工具类
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- .net使用正则表达式校验、匹配字符工具类
开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...
- WebUtils-网络请求工具类
网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...
- JAVA 日期格式工具类DateUtil.java
DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...
随机推荐
- linux编程问题记录
1.程序中需要用到字符串的时候,尽可能选择string类型,这种类型的字符串有很多比较容易的功能,如字符串之间可以直接拷贝赋值 string a; string b="123"; ...
- mac下剪切文件或文件夹
首先选中文件,按Command+C复制文件:然后按Command+Option+V:就可以把你的文件剪走了!
- 安装学习nginx记录
通过查看nginx目录下的log文件,发现80端口没有权限使用 查找文章发现: netstat -aon|findstr ":80" 有的进程ID占用多了80端口,看监听的端口 启 ...
- 【Java EE 学习 25 上】【网上图书商城项目实战】
一.概述 1.使用的jdk版本:1.6 2.java EE版本:1.6 3.指导老师:传智播客 王建 二.小项目已经实现的功能 普通用户: 1.登陆 2.注册 3.购物 4.浏览 管理员用户(全部管理 ...
- flume+kafka+hbase+ELK
一.架构方案如下图: 二.各个组件的安装方案如下: 1).zookeeper+kafka http://www.cnblogs.com/super-d2/p/4534323.html 2)hbase ...
- LeetCode——Single Number II(找出数组中只出现一次的数2)
问题: Given an array of integers, every element appears three times except for one. Find that single o ...
- Quartz 之Quartz Cron表达式
说到这个Quartz了,必不可少的就要说到我们的Triggger触发器,相信大家也都知道,我们在之前也说过了,Trigger又有两个子类,也就是两种方式,分别是:SimpleTrigger和CronT ...
- ios 模拟器内部网络连接问题
今日,一运行程序,打印出来头疼的的日志 "Error Domain=kCFErrorDomainCFNetwork Code=-1001 "The request timed ou ...
- HDU 3642 Get The Treasury (线段树扫描线)
题意:给你一些长方体,问你覆盖三次及以上的体积有多大 首先我们观察x轴y轴一样很大,但是z轴很小,所以我们可以枚举z轴(-500,500),注意我们枚举的是每一段长度为一的z轴的xy轴的面积而不是点. ...
- nginx中配置pathinfo模式示例
要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pathinfo是php的功能. php中有两个path ...